I set up a Confluence 4.0 server and ran plenty of xmlrpc commands on it.
I had to drop that server and set up a Confluence 3.5 server.
I tried to run xmlrpc commands on the 3.5 server and nothing would work. Yet the exact same code works perfectly on the Confluence 4.0 server. The code also works perfectly on a company Confluence server which is version 3.5.
All admin settings are correct, remote xmlrpc is on, anon is allowed remote access. I’ve given full admin access to everybody, including anon.
Here is a sample of the code I am using (It’s groovy.)
def c = new XMLRPCServerProxy("http://localhost:8080/rpc/xmlrpc")
def token = ""
def serverinfo = c.confluence1.getServerInfo(token);
println("ServerInfo - " + serverinfo);
The backtrace I got is below.
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)
Just a quick guess. 400 is “Bad Request”
Normally when people deploy confluence there will be a path context like http://localhost:8080/confluence/xx/yy/zz
Are you sure you are deploying confluence to ROOT of your server? I just guess is your correct confluence rpc path http://localhost:8080/confluence/rpc/xmlrpc/ ?