Duda con SoapPy.
Antonio Beamud Montero
antonio.beamud en linkend.net
Vie Ene 13 09:50:00 CET 2006
El jue, 12-01-2006 a las 15:06 +0100, Joan Carles Jimenez escribió:
> Hola a todos.
>
> Tengo un servicio web hecho en mono que simplemente suma dos números y
> devuelve el resultado. La llamada la realizo de la siguiente manera ...
>
> def OnClickSuma(self, event):
> try:
> wsdl = "http://www2.jocajica.com/anaconda/Anaconda.wsdl"
> proxy = SOAPpy.WSDL.Proxy(wsdl)
>
> try:
> a = int(self.text_ctrl_1.GetValue())
> b = int(self.text_ctrl_2.GetValue())
>
> c = proxy.Suma(a, b)
>
> self.text_ctrl_3.SetValue(c)
> except:
> print sys.exc_info()[0]
> raise
>
> except:
> print sys.exc_info()[0]
> raise
>
> event.Skip()
>
> ... pero siempre obtengo un 0 como resultado. Observando el fichero WSDL he
> visto que mono no genera un tipo simple para devolver el resultado sino que
> devuelve un tipo complejo:
>
> <types>
> <xs:schema elementFormDefault="qualified"
> targetNamespace="http://localhost/anaconda"
> xmlns:xs="http://www.w3.org/2001/XMLSchema">
> <xs:element name="Suma">
> <xs:complexType>
> <xs:sequence>
> <xs:element minOccurs="1" maxOccurs="1" name="a" type="xs:int" />
> <xs:element minOccurs="1" maxOccurs="1" name="b" type="xs:int" />
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="SumaResponse">
> <xs:complexType>
> <xs:sequence>
> <xs:element minOccurs="1" maxOccurs="1" name="SumaResult"
> type="xs:int" />
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="int" type="xs:int" />
> </xs:schema>
> </types>
>
> ¿Alguna idea de como tratar este tipo con SoapPy? Gracias por adelantado.
Usa la depuración de SOAPpy para ver que forma tienen los mensajes soap
y que te está devolviendo antes de que el cliente haga el
unmarshalling...
SOAPpy.Config.debug = 1
SOAPpy.Config.BuildWithNoType = 1
SOAPpy.Config.BuildWithNoNamespacePrefix = 1
c = proxy.Suma(a, b)
print c
Saludos.
>
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es
Más información sobre la lista de distribución Python-es