0

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

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

这看起来像 Apache xml-rpc 客户端中的一个错误,通过这个 JIRA: https ://issues.apache.org/jira/browse/XMLRPC-159

它说它已在库的 3.1.2 中修复,我使用的是 3.1.3。

有人见过这个吗?

4

1 回答 1

1

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

要检查这种可能性,您可以查看服务器访问日志中的请求 url 和状态码(应该是 200);有了这些信息,您可以在浏览器或命令行客户端(如wgetor )中重放请求curl,并查看真正作为响应返回的内容。

于 2015-08-17T14:32:30.843 回答