Resposta de erro XMLRPC
-
12-12-2019 - |
Pergunta
Eu estou tentando usar o Apache XMLRPC para gerenciar posts em um pequeno serviço de weblog.O suporte não é grande lá, e eles não podem realmente ajudar.Eles dizem que o blog oferece suporte a api metaweblog.
Eu estou tentando recuperar todos os meus posts, usando o rpc "metaWeblog.getPost":
token = client.invoke("metaWeblog.getPost", new Object[] {123, // also tried "123" and "\"123\""
"username",
"password"});
Quando eu usar 123 (sem aspas), recebo esta resposta: o java.lang.Exceção:o java.lang.Inteiro não pode ser convertido para o java.lang.Cadeia
Quando eu uso o "123" ou "\"123\"" (aspas), recebo esta resposta: o java.lang.Exceção:Inválido postid formato:123
Este código não funciona com o meu Wordpress blog.
Solução
Wordpress provavelmente funciona, porque é em PHP e não como tipo sensível como a do java.
O google docs para metaWeblog dizer que as matérias-representação xml de um pedido parecido com este:
<?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>
Então você precisa tentar estabelecer os parâmetros como variáveis do tipo
O postId precisa ser uma versão de 32 grande número inteiro, a senha é codificada em base64, o nome de usuário é uma seqüência de caracteres.
Declarar as variáveis corretamente e passar variáveis, que não são cotados constantes, para o método invoke.
Em seguida, o xml que é formado sob o capô pela biblioteca rpc irá certificar-se de que <i4></i4>
é o id do post, etc.
Espero que isso ajude um pouco.No mínimo, você pode provar que o outro lado não está devidamente execução metaWeblog.Na melhor das hipóteses, você já resolveu o seu problema e pode se manter em movimento.