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

Daniel Ceillan codigodaniel en gmail.com
Lun Oct 11 23:09:02 ART 2010


El 9 de octubre de 2010 19:17, Daniel Ceillan <codigodaniel en gmail.com>escribió:

>
> El 9 de octubre de 2010 17:12, Mariano Reingart <reingart en gmail.com>escribió:
>
> 2010/10/9 Daniel Ceillan <codigodaniel en gmail.com>:
>> > El 7 de octubre de 2010 11:46, Daniel Ceillan <codigodaniel en gmail.com>
>> > escribió:
>> >>
>> >> El 6 de octubre de 2010 13:22, Mariano Reingart <reingart en gmail.com>
>> >> escribió:
>> >>>
>> >>> 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
>> >
>> > Mariano, tu libreria es ampliamente mas agil que las otras. Asi que
>> > seguramente la estare utilizando y LA RECOMIENDO.  :)
>>
>> Gracias :-)
>>
>> > Las dudas que me quedan son :
>> >
>> > + como agrego encabezados. (UsernameToken por ejemplo)
>>
>> Por el momento no se puede sin modificar el código.
>>
>> Tendrías un ejemplo que se pueda probar?
>>
>> Hay un ticket cargado, si lo podes adjuntar ahí, podría ver de adaptarlo
>> http://code.google.com/p/pysimplesoap/issues/detail?id=3
>>
>>
> Esto es lo que estoy tratando de integrar.
>
>
> http://integrations.monster.com/MonsterWebServiceToolKit/RealtimePosting/Sample/Add_Or_Update_Job/Common_Fields
>
> Supongo que se los agrego a mano, pasandoselos por parametro al constructor
> de client. :) y listo.
>
> Tambien se podria "personalizar" el mensaje soap, si permitis "setear" un
> "template" de mensaje. Eso seria copado... y bastante elegante...
>
> > + como cambio el prefijo de la etiqueta body. me la genera asi:
>> <soap:Body>
>>
>> Con el parámetro soap_ns del cliente (clase Client), y con el
>> parámetro ns cambias el prefijo del nodo del requerimiento.
>>
>> Cualquier cosa podés ver el código de client.py, es bastante conciso.
>>
>>
> Si lo vi, esta bien, peroestaria bueno poder armar una plantilla de
> mensaje, y tener un metodo para agregar headers, con eso solo estaria
> perfecta y muy potente. :)
>
> Si tu me guias lo dejo hecho.
>
> Saludos.
>
>
>> También en la wiki hay algo de documentación:
>> http://code.google.com/p/pysimplesoap/wiki/SoapClient
>>
>> Sds
>>
>> Mariano Reingart
>> http://www.sistemasagiles.com.ar
>> http://reingart.blogspot.com
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>
> --
> Daniel Ceillan
>

Bueno Mariano, te aviso que acabo de destrabar la comunicacion... :D

Ahora solo me queda el problema de "armar los mensajes" que es menor...

Lo bueno para ti, es que pude usar tu codigo... :) (y mira que probe con
todo lo que anda por ahi)

Simplemente herede de SoapClient y modifique lo que necesite a gusto.... n_n

De esa forma no tocaba el codigo "que ya funciona probadamente"

Me tiraba errores inentendibles, pero de a poco me arme de paciencia fui
deshilachando el problema y al final anda perfecto!!!

Creo que tu codigo tiene mucho potencial si lograras encapsular la lógica
base en una clase heredable, y despues que cada uno arme las
especializaciones que necesita... sobre todo separar por un lado (formato
del mensaje) por otro lado (armar el mensaje) y por otro lado mas (hacer la
llamada)... quedaria mas cohesivo... :)

Cualquier cosa te muestro lo que hice...

Ahora si... a buscar trabajo!

Gracias!

-- 
Daniel Ceillan
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20101011/d0640001/attachment.html>


More information about the pyar mailing list