11.21.1 Oggetti SimpleXMLRPCServer

La classe SimpleXMLRPCServer è basata su SocketServer.TCPServer e permette la creazione di semplici, autonomi server XML-RPC.

register_function( function[, name])
Registra una funzione che può rispondere ad una richiesta XML-RPC. Se name viene indicato, sarà il nome del metodo associato a function, altrimenti verrà usata function.__name__. name può essere una stringa normale o Unicode, e può contenere caratteri non validi negli identificatori Python, incluso il carattere della virgola.

register_instance( instance)
Registra un oggetto usato per esporre i nomi dei metodi che sono stati registrati usando register_function(). Se instance non possiede un metodo _dispatch(), viene cercato un attributo che corrisponde al nome del metodo richiesto; se il nome del metodo contiene virgole, ogni componente del nome del metodo viene cercato individualmente, con l'effetto che viene eseguita una semplice ricerca gerarchica. Il valore trovato da questa ricerca viene quindi chiamato con il parametro della richiesta ed il valore restituito viene rispedito indietro al client.

register_introspection_functions( )
Registra la funzione di introspezione XML-RPC system.listMethods, system.methodHelp e system.methodSignature. Nuovo nella versione 2.3.

register_multicall_functions( )
Registra le funzioni multichiamata XML-RPC system.multicall.

Esempio:

class MyFuncs:
    def div(self, x, y) : return div(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()

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.