我正在尝试使用Apache XMLRPC来管理一个小型weblog服务中的帖子。那里的支持不是很好,他们也帮不上忙。他们说weblog支持元博客api。
我正在尝试使用rpc "metaWeblog.getPost“检索我所有的帖子
token = client.invoke("metaWeblog.getPost", new Object[] {123, // also tried "123" and "\"123\""
"username",
"password"});当我使用123 (没有引号)时,我得到以下响应:java.lang.Exception: java.lang.Integer不能转换为java.lang.String
当我使用"123“或”\“123\”(引号)时,我得到以下响应:java.lang.Exception:无效postid格式: 123
这段代码确实适用于我的Wordpress weblog。
发布于 2012-03-31 14:45:51
Wordpress可能会工作,因为它是在PHP中,并且不像java那样敏感。
metaWeblog的文档表示请求的原始xml表示形式如下所示:
<?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>因此,您需要尝试将params设置为正确类型的变量。
postId需要是一个32大整数,密码是base64编码的,用户名是字符串。
正确声明变量,并将变量(而不是引号常量)传递给invoke方法。
然后,rpc库在掩体下形成的xml将确保<i4></i4>位于post id附近,等等。
希望这能帮点忙。至少,您可以证明对方没有正确地实现metaWeblog。充其量,你已经解决了你的问题,可以继续前进。
https://stackoverflow.com/questions/9668758
复制相似问题