11.23.1 SimpleXMLRPCServer Objects
The SimpleXMLRPCServer class is based on SocketServer.TCPServer and provides a means of creating simple, stand alone XML-RPC servers.
-
Register a function that can respond to XML-RPC requests. If
name is given, it will be the method name associated with
function, otherwise
function.__name__
will be used. name can be either a normal or Unicode string, and may contain characters not legal in Python identifiers, including the period character.
-
Register an object which is used to expose method names which have
not been registered using register_function(). If
instance contains a _dispatch() method, it is called
with the requested method name and the parameters from the request. Its
API is
def _dispatch(self, method, params)
(note tha params does not represent a variable argument list). If it calls an underlying function to perform its task, that function is called asfunc(*params)
, expanding the parameter list. The return value from _dispatch() is returned to the client as the result. If instance does not have a _dispatch() method, it is searched for an attribute matching the name of the requested method; if the requested method name contains periods, each component of the method name is searched for individually, with the effect that a simple hierarchical search is performed. The value found from this search is then called with the parameters from the request, and the return value is passed back to the client.
-
Registers the XML-RPC introspection functions
system.listMethods
,system.methodHelp
andsystem.methodSignature
. New in version 2.3.
- Registers the XML-RPC multicall function system.multicall.
Example:
class MyFuncs: def div(self, x, y) : return x // y server = SimpleXMLRPCServer(("localhost", 8000)) server.register_function(pow) server.register_function(lambda x,y: x+y, 'add') server.register_introspection_functions() server.register_instance(MyFuncs()) server.serve_forever()
See About this document... for information on suggesting changes.