Question

J'essaie d'utiliser Apache XMLRPC pour gérer des messages dans un petit service de blog.Le soutien n'est pas super là et ils ne peuvent pas vraiment aider.Ils disent que le Weblog prend en charge le API Metaweblog .

J'essaie de récupérer tous mes messages à l'aide du RPC "Metaweblog.betpost ":

token = client.invoke("metaWeblog.getPost", new Object[] {123, // also tried "123" and "\"123\""
                                                          "username", 
                                                          "password"});

Quand j'utilise 123 (pas de citations), je reçois cette réponse: java.lang.Exception: java.lang.integer ne peut pas être jeté à java.lang.string

Lorsque j'utilise "123" ou "\" 123 \ "" (citations), je reçois cette réponse: java.lang.Exception: format postid invalide: 123

Ce code fonctionne avec mon WordPress Weblog's.

Était-ce utile?

La solution

WordPress fonctionne probablement parce qu'il est en PHP et n'est pas aussi sensible que Java.

Les docs pour Metaweblog disent que la représentation XML brute d'une demande ressemble à ceci:

<?xml version="1.0"?>

<methodCall>

    <methodName>metaWeblog.getPost</methodName>

    <params>

        <param>

            <value><i4>1829</i4></value>

            </param>

        <param>

            <value>Bull Mancuso</value>

            </param>

        <param>

            <value><base64>bm93YXk=</base64></value>

            </param>

        </params>

    </methodCall>

Vous devez donc essayer d'établir les paramètres comme variables du type droit

Le postide doit être un 32 grand entier, le mot de passe est codé de base64, le nom d'utilisateur est une chaîne.

Déclarez vos variables correctement et passez des variables, non citées, à la méthode Invoke.

Ensuite, le XML formé sous la capuche par la bibliothèque RPC s'assurera que <i4></i4> est autour de l'ID Post, etc.

J'espère que cela vous aide à un peu.À tout le moins, vous pouvez prouver que l'autre côté ne met pas correctement la mise en œuvre de Metaweblog.Au mieux, vous avez résolu votre problème et vous pouvez continuer à bouger.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top