[pyar] problema con soap suds, y comienzo del Body.

Mariano Reingart reingart en gmail.com
Mie Oct 6 13:22:00 ART 2010


2010/10/6 Daniel Ceillan <codigodaniel en gmail.com>:
> El 6 de octubre de 2010 05:02, Mariano Reingart <reingart en gmail.com>
> escribió:
>>
>> 2010/10/5 Daniel Ceillan <codigodaniel en gmail.com>:
>> > El 5 de octubre de 2010 19:13, Mariano Mara <mariano.mara en gmail.com>
>> > escribió:
>> >>
>> >> ¿Qué versión de suds? Yo tuve algunos inexplicables problemas con suds
>> >> 0.4 para interactuar con el ws de salesforce que se arreglaron haciendo
>> >> un downgrade a 0.3.9
>> >>
>> >
>> > Ah... si uso la 0.4 bueno voy a probar... :)
>> >
>>
>> Por estos motivos desarrollamos nuestra propia librería de manejo de
>> XML y SOAP simple, que es bastante flexible como para armar los
>> requerimientos/respuestas de manera compatible con varias plataformas:
>>
>
> Si, me parece que suds tiene demasiada magia... de hecho tarda mas de 100
> segundos en parsear el wsdl!

Interesante, me podés mandar ese wsdl para probarlo con PySimpleSoap,
en general nuestra librería es mucho más rápida que suds (pero para
ser sincero, no es tan estricta ni compleja, cosas que para mi son
ventajas), con decir que el parseo de la definición (WSDL) es
opcional...

>>
>> http://code.google.com/p/pysimplesoap/wiki/SoapClient
>> http://code.google.com/p/pysimplesoap/wiki/TestingCompliance
>>
>> Tiene un modo de operación RAW donde se puede construir o procesar los
>> mensajes xml a gusto del programador, sin necesidad de clases,
>> adaptadores, marshalling/serialización (wsdl), etc.
>>
>> PD: Daniel, creo que me habías escrito hace unos días, perdón por la
>> demora en la contestación :-P
>>
>
> Todo bien! de todas maneras no tenias ninguna obligacion de responder... y
> te agradezco que lo hayas hecho... :) te envie un mail, porque vi que
> hiciste un laburo muy groso con esto...
>
> Una consulta de bobo:
>
> "ns0" o "namespace cero" no significa que ahi termina el documento? porque
> esa etiqueta es la que me tira el error...

No, ns0 es solo un nombre, no tiene significado por si mismo.
El tema es que hay varias formas de especificar el namespace:
 * como prefijo <ns0:saraza>
 * como attributo <saraza xmlns='"...">
 * no especificarlo (solo en el targetNamespace principal, tns, xml:ns, etc.)
 * cualquier combinación de las anteriores
 * cualquier combinación de las anteriores en los nodos hijos
(diferente a la combinación en los nodos padres)

Todo empeora con que parser te toque (y que versión del mismo), a java
axis le gusta de una forma (depende la version, 1 o 2), a java .jboss
ws le gusta de otra, a .net 2.0 de otra (y net 3.0 es muy rebuscado),
y no hablemos de python, php, etc...

Algunos parsers son mas estrictos que otros, sobre todo con el
ordenamiento de los tags, namespaces, schemas, etc.

Esto es con SOAP 1.1, con 1.2 puede variar (y que no te toquen varios
namespaces, imports, etc....)

YMMV

Sds

Mariano Reingart
http://www.sistemasagiles.com.ar
http://reingart.blogspot.com



More information about the pyar mailing list