Saltar al contenido

¿Qué bibliotecas de cliente SOAP existen para Python y dónde está la documentación para ellas?

Solución:

Actualización (2016):

Si solo necesita un cliente SOAP, existe una biblioteca bien mantenida llamada zeep. Es compatible con Python 2 y 3 🙂


Actualizar:

Además de lo mencionado anteriormente, me referiré a la página de Python WebServices, que siempre está actualizada con todos los módulos recomendados y mantenidos activamente para JABÓN y todos los demás tipos de servicios web.


Desafortunadamente, por el momento, no creo que haya una “mejor” biblioteca de Python SOAP. Cada uno de los principales disponibles tiene sus pros y sus contras.

Bibliotecas más antiguas:

  • SOAPy: Fue el “mejor”, pero ya no se mantuvo. No funciona en Python 2.5+

  • ZSI: Muy doloroso de usar y el desarrollo es lento. Tiene un módulo llamado “SOAPpy”, que es diferente a SOAPy (arriba).

Bibliotecas “más nuevas”:

  • SUDS: Muy Pythonic y fácil de crear clientes SOAP que consuman WSDL. Crear servidores SOAP es un poco más difícil. (Este paquete no funciona con Python3. Para Python3, consulte SUDS-py3)

  • SUDS-py3: la versión Python3 de SUDS

  • spyne: Crear servidores es fácil, crear clientes un poco más desafiante. Falta algo de documentación.

  • ladon: Crear servidores es muy parecido a soaplib (usar un decorador). Ladon expone más interfaces que SOAP al mismo tiempo sin necesidad de código de usuario adicional.

  • pysimplesoap: muy ligero pero útil tanto para el cliente como para el servidor; incluye una integración de servidor web2py que se envía con web2py.

  • SOAPpy: A diferencia del SOAPpy abandonado que está alojado en el enlace ZSI anterior, esta versión se mantuvo hasta 2011, ahora parece que también se abandonó.
  • soaplib: biblioteca de Python fácil de usar para escribir y llamar a servicios web de soap. Los servicios web escritos con soaplib son simples, livianos, funcionan bien con otras implementaciones de SOAP y se pueden implementar como aplicaciones WSGI.
  • osa: una biblioteca cliente SOAP python rápida / delgada y fácil de usar.

De los anteriores, solo he usado SUDS personalmente, y me gustó mucho.

Seguí los consejos de otras respuestas a esta pregunta y probé SUDS. Después de usarlo “con ira”, debo estar de acuerdo: ¡SUDS es muy bueno! ¡Muy recomendable!

Tuve problemas para llamar a servicios web basados ​​en HTTPS desde detrás de un proxy. En el momento de escribir este artículo, esto afecta todos Clientes de servicios web de Python que utilizan urllib2, así que documentaré la solución aquí.

los urllib2 El envío del módulo con python 2.6.2 y a continuación no emitirá un CONNECT al proxy para sesiones de proxy HTTPS a través de HTTP. Esto da como resultado un tiempo de espera prolongado o, si tiene suerte, un error que se parece a:

abort: error: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol

Este fue el problema 1424152 en el rastreador de errores de Python. Hay parches adjuntos al informe de errores que solucionarán este problema en Python 2.xy Python 3.x. El problema ya está solucionado.

Tuve una buena experiencia con SUDS https://fedorahosted.org/suds

Usó su TestSuite como documentación.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *