Try using the URL from the location header. In other words, add a "/" to the URL.
On Wed, Oct 28, 2009 at 8:49 PM, Mike Baranski <list-subscripti...@secmgmt.com> wrote: > I have the following java class: > > package com.secmgmt.xmlrpc.change_status; > import org.apache.log4j.Logger; > > public class ChangeStatus > { > public static final int SUCCESS = 0; > public static final int INVALID_LOGIN = 1; > public static final int EID_NOT_FOUND = 2; > public static final int SERVER_NOT_PRIMARY = 3; > public static final int NO_CHANGE_NEEDED = 4; > > private static Logger l = Logger.getLogger(ChangeStatus.class); > > public static final String ACTIVE = "ACTIVE"; > public static final String INACTIVE = "INACTIVE"; > > public static final int PP_ACTIVE = 0; > public static final int PP_INACTIVE = 1; > > public ChangeStatus() > { > l.debug("Created the status xmlrpc class"); > } > > public boolean ping() > { > return true; > } > > public int add(int one, int two) > { > l.debug("Adding " + one + " and " + two); > return one + two; > } > > public int changeStatus(String eid, String user, String password, String > status) > { > return SUCCESS; > } > } > > The following in the properties file: > ChangeStatus=com.secmgmt.xmlrpc.picture.four.change_status.ChangeStatus > > My webapp deploys properly, and I never see an error in the logs anywhere > when I hit it. My python program is: > > #!/usr/bin/python2 > import xmlrpclib > from pprint import pprint > > p = xmlrpclib.ServerProxy("http://192.168.1.15:8080/xmlrpc-status") > print "Server created" > try: > #print p.system.listMethods() > #print dir(p) > p._ServerProxy__verbose = 1 > print "Ping result: %s" % (p.ChangeStatus.ping()) > except xmlrpclib.Error, v: > print "ERROR", v > pass > > print "Done" > > Here is the output: > > Server created > connect: (192.168.1.15, 8080) > send: 'POST /xmlrpc-status HTTP/1.0\r\nHost: > 192.168.1.15:8080\r\nUser-Agent: xmlrpclib.py/1.0.1 (by > www.pythonware.com)\r\nContent-Type: text/xml\r\nContent-Length: > 111\r\n\r\n' > send: "<?xml > version='1.0'?>\n<methodCall>\n<methodName>ChangeStatus.ping</methodName>\n< > params>\n</params>\n</methodCall>\n" > reply: 'HTTP/1.1 302 Moved Temporarily\r\n' > header: Server: Apache-Coyote/1.1 > header: Location: http://192.168.1.15:8080/xmlrpc-status/ > header: Date: Wed, 28 Oct 2009 19:47:50 GMT > header: Connection: close > ERROR <ProtocolError for 192.168.1.15:8080/xmlrpc-status: 302 Moved > Temporarily> > Done > > Any idea why I get the 302 error? My XML-RPC appears to be correct. > > > > -- Germanys national anthem is the most boring in the world - how telling!