import SocketServer import xmlrpcserver import xmlrpclib class TestRequestHandler(xmlrpcserver.RequestHandler): #Override method: def call(self, method, params): print "Dispatching: ", method, params try: server_method = getattr(self, method) except: raise AttributeError, "Server does not contain XML-RPC procedure %s" % method return server_method(method, params) def dump_methodcall(self, method, params): return xmlrpclib.dumps(params[1:], params[0]) def dump_params(self, method, params): return xmlrpclib.dumps(params) def test(self, method, nr): return nr def dump_response(self, method, params): response = self.call(params[0], tuple(params[1:])) return xmlrpclib.dumps(response) if __name__ == '__main__': server = SocketServer.TCPServer(('', 8000), TestRequestHandler) server.serve_forever()