我设置了 Confluence 4.0 服务器并在其上运行了大量 xmlrpc 命令。
我不得不放弃该服务器并设置 Confluence 3.5 服务器。
我尝试在 3.5 服务器上运行 xmlrpc 命令,但没有任何效果。然而,完全相同的代码在 Confluence 4.0 服务器上完美运行。该代码也可以在公司 Confluence 服务器版本 3.5 上完美运行。
所有管理设置均正确,远程 xmlrpc 已打开,允许匿名远程访问。我已向所有人授予完全管理员访问权限,包括匿名者。
这是我正在使用的代码示例(非常棒。)
def c = new XMLRPCServerProxy("http://localhost:8080/rpc/xmlrpc")
def token = ""
def serverinfo = c.confluence1.getServerInfo(token);
println("ServerInfo - " + serverinfo);
我得到的回溯如下。
Exception in thread "main" java.io.IOException: Server returned HTTP response code: 400 for URL: http://localhost:8080/rpc/xmlrpc
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at groovy.net.xmlrpc.XMLRPCServerProxy.doRpcCall(XMLRPCServerProxy.java:160)
at groovy.net.xmlrpc.XMLRPCServerProxy.invokeMethod(XMLRPCServerProxy.java:115)
at groovy.net.xmlrpc.RPCServerProxy$1.invokeMethod(RPCServerProxy.java:78)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:45)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
at confluenceTest.GetPage.main(GetPage.groovy:18)
最佳答案
只是一个快速猜测。 400 是“错误请求”
通常,当人们部署 confluence 时,会有一个类似 http://localhost:8080/confluence/ 的路径上下文。 xx/yy/zz
您确定要将 confluence 部署到服务器的根目录吗?我只是猜测你正确的汇合rpc路径http://localhost:8080/confluence/rpc/xmlrpc/ ?
关于java - 通过 XMLRPC 访问 Atlassian Confluence 时遇到困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9017655/