No se muy bien si este post está bien ubicado aquí, pero me ha parecido el mas adecuado.
Mi problema es el siguiente. Estoy implementado un servicio web utilizando el protocolo XML-RPC.
El servidor está escrito en Phyton y es el siguiente:
Código:
El cliente está implementado en JavaScript y para comunicarme con el servidor utilizo la siguiente librería.from SimpleXMLRPCServer import SimpleXMLRPCServer from SimpleXMLRPCServer import SimpleXMLRPCRequestHandler # Restrict to a particular path. class RequestHandler(SimpleXMLRPCRequestHandler): rpc_paths = ('/RPC2',) # Create server server = SimpleXMLRPCServer(("http://www.miks.es", 8000),requestHandler=RequestHandler) server.register_introspection_functions() # Register pow() function; this will use the value of # pow.__name__ as the name, which is just 'pow'. server.register_function(pow) # Register a function under a different name def adder_function(x,y): return x + y server.register_function(adder_function, 'add') # Register an instance; all the methods of the instance are # published as XML-RPC methods (in this case, just 'div'). class MyFuncs: def div(self, x, y): return x // y server.register_instance(MyFuncs()) # Run the server's main loop server.serve_forever()
http://www.zentus.com/js/xmlrpc.js.html
La cuestión es que hago la llamada al servidor tal y como indica en el anterior enlace pero no hay manera de establecer la comunicación.
La llamada la realizo de la siguiente manera:
Código:
Esta llamada invoca a la función add del servidor con los parámetros 2 y 3 per solo recibo un mensaje de "Connection error".xmlrpc("http://www.miks.es/:8000", "add", [2,3], function(ret) {alert("loaded,got " + ret);}, function(err) {alert("error occurred: " + err);}, function() {alert("finished");});
Espero que puedan ayudarme.
Muchas gracias de antemano.