2008-10-23 20 views
14

Python tiene un number of soap stacks; tan cerca como puedo decir, todos tienen defectos sustanciales.¿Cuál es la mejor pila de jabón python para consumir WSDL de Amazon Web Services?

¿Alguien ha tenido suerte consumiendo y usando WSDL para S3, EC2 y SQS en python?

Mi experiencia es que la espuma falla al construir un objeto Cliente; después de algunas disputas, ZSI genera un código de cliente que no funciona; etc.

Finalmente, sé de boto pero como se trata de un envoltorio enrollado a mano alrededor de AWS, está (1) incompleto y (2) no está actualizado con el AWS WSDL más reciente.

Respuesta

3

Las API REST o "Query" son definitivamente más fáciles de usar que SOAP, pero desafortunadamente al menos una vez que el servicio (EC2) no proporciona ninguna alternativa a SOAP. Como ya has descubierto, las implementaciones SOAP existentes de Python son lamentablemente inadecuadas para la mayoría de los propósitos; Un enfoque alternativo consiste simplemente en generar el XML para el sobre/cuerpo de SOAP directamente, en lugar de pasar por una capa intermedia de SOAP. Si está familiarizado con XML/SOAP, esto no es demasiado difícil de hacer en la mayoría de los casos, y le permite trabajar en cualquier idiosincrasia particular con la implementación de SOAP en el otro extremo; esto puede ser bastante importante, ya que cada pila de SOAP tiene su propio sabor de bugginess/rareza con la que lidiar.

+2

Esta pregunta ha estado abierta por bastante tiempo; He decidido que esta es la respuesta más pragmática, aunque no aborda el tema fundamental. Fundamentalmente, el soporte de Python para SOAP es insatisfactorio; no hay una solución realmente viable a partir de hoy. –

1

si no me equivoco, puede consumir Amazon Web Services a través de REST y SOAP. usar REST con python sería mucho más fácil.

+0

¿Cómo harías esto? ¿Y no puede WSDL describir enlaces REST también? –

0

Echa un vistazo http://boto.googlecode.com. Esta es la mejor manera de usar AWS en Python.

+0

Quizás, pero primero vea mi comentario sobre boto en la pregunta original que hice. –

Cuestiones relacionadas