Entradas

Mostrando las entradas de junio, 2008

WebService Python - Mono

Introducción XML-RPC y SOAP son protocolos para la trasmisión de mensajes que pueden ser utilizados para consumir servicios Web. Mientras que XML-RPC nació con funcionalidades básicas lo que permite una curva de aprendizaje poco pronunciada, SOAP añade características más avanzadas pudiendo realizar tareas más complejas, por lo que la elección de uno u otro protocolo depende en gran medida de las necesidades arquitectónicas que quieran resolver. En este tutorial se mostrara como desarrollar servicios web en Python y consumirlos a través de un cliente en C# XML-RPC vs SOAP SOAP es hijo de XML-RPC pero no son compatibles. He aquí algunas de sus diferencias: En XML-RPC es importante el orden de los parámetros y estos tienen nombre, no siendo así en SOAP XML-RPC no soporta estructuras y arreglos, mientras que SOAP si. SOAP es mucho más complicado que XML-RPC SOAP permite seleccionar el conjunto de caracteres a utilizar(US-ASCII, UTF-8, UTF-16) XML-RPC no SOAP permite utilizar tipos de dato

WebService en Python - Ejemplo Simple

Continuando con mi trabajo sobre WebServices sobre Python, presento un ejemplo sencillo de una aplicación, cliente y servidor. Espero les sirva para aquellos que comienzan en el fantástico mundo de Python: Servidor.py def multiplicar(x,y):   return x*y  def dividir(x,y):   return x/y  from SimpleXMLRPCServer import SimpleXMLRPCServer s = SimpleXMLRPCServer(("localhost",8001)) s.register_function(multiplicar) s.register_function(dividir) s.serve_forever()  Cliente.py Ejecutando en consola podemos consumir el WebService >>> from xmlrpclib import Server >>> s=Server("http://localhost:8001") >>> s.multiplica(10,50) Y podemos ver que se consume el servicio y nos presenta el resultado, de igual manera en la consola donde tenemos abierto y en ejecución el Servidor.py podemos ver que va ejecutando las peticiones. Es un pequeño y sencillo ejemplo que puede orientar mucho más a los que estamos comenzando en este excelente universo Python.