Duda con SOAPpy y los servicios web con Mono

Joan Carles Jimenez jjcarles en terra.es
Vie Ene 13 13:39:51 CET 2006


Hola de nuevo.

	He activado el debug del SOAPpy para ver la salida, tal y como me habeis 
dicho. Investigando un poco mas he visto que el problema es que el servicio 
web ya no recibe bien los parámetros. 

	El servicio web en mono es el siguiente:

[WebMethod(Description="Suma dos valores.")]
public int Suma(int a, int b) {
	Console.WriteLine("Executing WS ...");
        Console.WriteLine("a = " + a);
        Console.WriteLine("b = " + b);
        return a+b;
}

	Y la llamada desde Python la hago de la siguiente manera:

a = int(self.text_ctrl_1.GetValue())
b = int(self.text_ctrl_2.GetValue())
                
SOAPpy.Config.debug = 1
SOAPpy.Config.BuildWithNoType = 1
SOAPpy.Config.BuildWithNoNamespacePrefix = 1
                
c = proxy.Suma(a, b)
                
print (c)
print (dir(c))
                
self.text_ctrl_3.SetValue(c)

	La salida que tengo por pantalla, por la parte de Mono, es:

Executing WS ...
a = 0
b = 0

	Como veis, sean cuales sean los valores introducidos para "a" y "b", sólo 
recibe el valor "0" y eso que segun la salida de SOAPpy, "a" y "b" tienen los 
valores "1" y "2":

*** Outgoing SOAP ******************************************************
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope 
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<Suma SOAP-ENC:root="1">
<v1 xsi:type="xsd:int">1</v1>
<v2 xsi:type="xsd:int">2</v2>
</Suma>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
************************************************************************
*** Incoming SOAP ******************************************************
<?xml version="1.0" encoding="utf-8"?><soap:Envelope 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><SumaResponse 
xmlns="http://localhost/anaconda"><SumaResult>0</SumaResult></SumaResponse></soap:Body></soap:Envelope>
************************************************************************

	¿Alguna manera de poder trabajar con SOAPpy y Mono? Gracias de nuevo por la 
ayuda.

-- 
Joan Carles Jiménez
jjcarles en terra.es




Más información sobre la lista de distribución Python-es