我使用以下代码更新汇合页面:
public void publish() throws IOException {
XWikiXmlRpcClient rpc = new XWikiXmlRpcClient(CONFLUENCE_URI);
try {
rpc.login(USER_NAME, PASSWORD);
//The info macro would get rendered an info box in the Page
Page page = new Page();
page.setSpace("ATF");
page.setTitle("New Page");
page.setContent("New Page Created \\\\ {{info}}This is XMLRPC Test{{/info}}");
page.setParentId("demo UTF Home");
rpc.storePage(page);
} catch (XmlRpcException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
当我尝试运行该程序时,我得到以下异常:
org.apache.xmlrpc.client.XmlRpcClientException: Failed to parse server's response: Expected methodResponse element, got html
这看起来像是这个JIRA的Apache xml-rpc客户端中的一个错误: https://issues.apache.org/jira/browse/XMLRPC-159
它说它已在图书馆的3.1.2中修复,我使用的是3.1.3。
之前有人见过这个吗?
答案 0 :(得分:1)
也许服务器确实返回了HTML;有时它只返回200,因为总会产生HTML。在这种情况下,您链接到的XMLRPC库中的错误修复不适用。
要检查这种可能性,您可以查看服务器访问日志以获取请求的URL和状态代码(应该是200);有了这些信息,您可以重播请求,例如在wget
或curl
等浏览器或命令行客户端中,查看实际返回的内容作为响应。