使用xwiki和Apache xml-rpc抛出异常

时间:2015-08-17 12:22:24

标签: java xml-rpc xwiki

我使用以下代码更新汇合页面:

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。

之前有人见过这个吗?

1 个答案:

答案 0 :(得分:1)

也许服务器确实返回了HTML;有时它只返回200,因为总会产生HTML。在这种情况下,您链接到的XMLRPC库中的错误修复不适用。

要检查这种可能性,您可以查看服务器访问日志以获取请求的URL和状态代码(应该是200);有了这些信息,您可以重播请求,例如在wgetcurl等浏览器或命令行客户端中,查看实际返回的内容作为响应。