| You are here: Inicio > Inmersión en Python > Servicios web SOAP > Primeros pasos con SOAP | << >> | ||||
Inmersión en PythonPython de novato a experto |
|||||
El corazón de SOAP es la capacidad de invocar funciones remotas. Hay varios servidores SOAP de acceso público que proporcionan funciones simples con propósito de demostración.
El más popular de los servidores SOAP de acceso público es http://www.xmethods.net/. Este ejemplo usa una función de demostración que toma un código postal de los Estados Unidos de América y devuelve la temperatura actual en esa región.
>>> from SOAPpy import SOAPProxy>>> url = 'http://services.xmethods.net:80/soap/servlet/rpcrouter' >>> namespace = 'urn:xmethods-Temperature'
>>> server = SOAPProxy(url, namespace)
>>> server.getTemp('27502')
80.0
| Accedemos al servidor SOAP remoto mediante una clase proxy, SOAPProxy. El proxy gestiona por usted todas las operaciones internas de SOAP, incluyendo la creación del documento XML de consulta partiendo del nombre de la función y su lista de argumentos, enviándola sobre HTTP al servidor SOAP remoto, analizando el documento XML de respuesta, y creando valores nativos de Python que devolver. Verá el aspecto de estos documentos XML en la próxima sección. | |
| Cada servicio SOAP tiene una URL que gestiona todas las consultas. Se usa la misma URL en todas las llamadas. Este servicio particular sólo tiene una función, pero más adelante en el capítulo verá ejemplos de la API de Google, que tiene varias funciones. La URL de servicio la comparten todas las funciones.Cada servicio de SOAP tiene también un espacio de nombres que está definido por el servidor y es completamente arbitrario. Es parte de la configuración que se precisa para llamar a los métodos de SOAP. Permite al servidor compartir una única URL de servicio y entregar consultas a diferentes servicios sin relación entre ellos. Es como dividir Python en paquetes. | |
| Estamos creando el SOAPProxy con la URL y el espacio de nombres del servicio. Esto no hace ninguna conexión con el servidor SOAP; simplemente crea un objeto local de Python. | |
| Ahora que todo está configurado correctamente puede invocar métodos de SOAP como si fueran funciones locales. Se le pasan argumentos de la misma manera que a una función normal, y se obtienen valores de retorno igual que con una función normal. Pero tras el telón están sucediendo muchas cosas. |
Echemos una mirada tras el telón.
<< Instalación de las bibliotecas de SOAP |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
Depuración de servicios web SOAP >> |