253 votos

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

Yo nunca he usado JABÓN antes y yo soy una especie de nuevo en Python. Estoy haciendo esto para ponerme a familiarizarse con ambas tecnologías. He instalado SOAPlib y he intentado leer su Cliente la documentación, pero no la entiendo demasiado bien. ¿Hay algo más que puede mirar en que es más adecuado para ser un Cliente SOAP de la biblioteca de Python?

Edit: Sólo en caso de que ayuda, estoy usando Python 2.6.

294voto

Samat Jain Puntos 3859

Lamentablemente, por el momento, creo que no hay un "mejor" de Python la biblioteca de SOAP. Cada uno de los medios principales de que dispone tiene sus pros y sus contras.

Mayores bibliotecas:

  • Jabón: Era el "mejor", pero ya no se mantiene. No funciona en Python 2.5+

  • ZSI: Muy doloroso para su uso, y el desarrollo es lento. Tiene un módulo llamado "SOAPpy", que es diferente de Jabón (arriba).

"Más nuevas" bibliotecas:

  • ESPUMA: Muy Python, y fácil de crear WSDL-consumo de JABÓN clientes. La creación de JABÓN servidores es un poco más difícil.

  • spyne: la Creación de servidores es fácil, crear clientes un poco más difícil. La documentación es un poco escaso.

  • ladon: la Creación de servidores es muy similar en soaplib (el uso de un decorador). Ladon expone más interfaces de JABÓN al mismo tiempo, sin supletoria el código de usuario es necesario.

  • pysimplesoap: muy ligero, pero útil para ambos el cliente y el servidor incluye un web2py de integración de servidor que se incluye con web2py.
  • SOAPpy: Distinta de la de los abandonados, de SOAPpy hospedado en el ZSI enlace de arriba, esta versión en realidad era mantenida hasta el 2011, ahora parece ser abandonado.

De lo anterior, sólo lo he usado ESPUMA personalmente, y me gustó mucho.

45voto

sstock Puntos 1289

He seguido los consejos de otras respuestas a esta pregunta y se dio a la ESPUMA de un intento. Después de su uso "en cólera" tengo que estar de acuerdo: los TCS es muy agradable! Altamente recomendado!

Lo hice correr en problemas de llamadas HTTPS basado en servicios web desde detrás de un proxy. En el momento de escribir esto, esto afecta a todas las web de Python-servicio a los clientes que utilicen urllib2, así que voy a documentar la solución aquí.

La urllib2 módulo de envío con python 2.6.2 y a continuación no emitirá CONNECT para el proxy HTTPS-HTTP-proxy de sesiones. Esto resulta en un largo tiempo de espera, o si tienes suerte, un error que parece:

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

Este fue issue1424152 en Python bug tracker. Hay parches adjunta al informe de error que va a arreglar esto en Python 2.x y Python 3.x. El problema ya está arreglado.

7voto

Doug Puntos 2296

Sólo un FYI advertencia para la gente que busca la ESPUMA, hasta que este billete está resuelto, la ESPUMA no admite la "elección" de la etiqueta en WSDL:

https://fedorahosted.org/suds/ticket/342

ver: la espuma y la elección de la etiqueta

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X