soappy bug with dictionary?!?

elsarfhem elsar.fhem at virgilio.it
Thu Dec 23 15:57:07 CET 2004


I have a problem with soappy when i try to send a python dictionary...
i send something like this {'1':2,'3':4}
and it returns something like this {'1':[2,4], '3':4}
function on the server is simply an echo:

def echo(arg):
   return arg

i post the soap message, it may be useful...
*** Incoming HTTP headers **********************************************
POST / HTTP/1.0
Host: localhost:8081
User-agent: SOAPpy 0.11.6 (pywebsvcs.sf.net)
Content-type: text/xml; charset="UTF-8"
Content-length: 552
SOAPAction: "http://localhost:8081/a"
************************************************************************
*** Incoming SOAP ******************************************************
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encod
ing/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http
://www.w3.org/1999/XMLSchema-instance"
xmlns:SOAP-ENV="http://schemas.xmlsoap.or
g/soap/envelope/" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<a SOAP-ENC:root="1">
<v1>
<_x005F_x0031_ xsi:type="xsd:string">2</_x005F_x0031_>
<c xsi:type="xsd:string">6</c>
<b xsi:type="xsd:string">4</b>
</v1>
</a>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
************************************************************************
In build.
In dump. obj= {'Result': <SOAPpy.Types.structType v1 at 12802528>: {'c':
'6', 'b
': '4', '_x0031_': '2'}}
In dump_dictionary.
In dump. obj= <SOAPpy.Types.structType v1 at 12802528>: {'c': '6', 'b':
'4', '_x
0031_': '2'}
In dump_instance. obj= <SOAPpy.Types.structType v1 at 12802528>: {'c':
'6', 'b':
 '4', '_x0031_': '2'} tag= Result
In dump. obj= ['2', '6', '4']
In dump_list. obj= ['2', '6', '4']
In dump. obj= 2
In dump_string.
In dumper.
In dump. obj= 6
In dump_string.
In dumper.
In dump. obj= 4
In dump_string.
In dumper.
In dump. obj= 6
In dump_string.
In build.
In dump. obj= {'Result': <SOAPpy.Types.structType v1 at 12802528>: {'c':
'6', 'b
': '4', '_x0031_': '2'}}
In dump_dictionary.
In dump. obj= <SOAPpy.Types.structType v1 at 12802528>: {'c': '6', 'b':
'4', '_x
0031_': '2'}
In dump_instance. obj= <SOAPpy.Types.structType v1 at 12802528>: {'c':
'6', 'b':
 '4', '_x0031_': '2'} tag= Result
In dump. obj= <SOAPpy.Types.structType v1 at 12802528>: {'c': '6', 'b':
'4', '_x
0031_': '2'}
In dump_instance. obj= <SOAPpy.Types.structType v1 at 12802528>: {'c':
'6', 'b':
 '4', '_x0031_': '2'} tag= Result
In dump. obj= ['2', '6', '4']
In dump_list. obj= ['2', '6', '4']
In dump. obj= 6
In dump_string.
In dump. obj= 4
In dump_string.
In dump. obj= ['2', '6', '4']
In dump_list. obj= ['2', '6', '4']
In dump. obj= 2
In dump_string.
In dump. obj= 6
In dump_string.
In dump. obj= 4
In dump_string.
In dump. obj= 6
In dump_string.
In dumper.
In dump. obj= 4
In dump_string.
In dumper.
In dump. obj= 2
In dump_string.
In dumper.
*** Outgoing HTTP headers **********************************************
HTTP/1.0 200 OK
Server: <a href="http://pywebsvcs.sf.net">SOAPpy 0.11.6</a> (Python
2.3.3)
Date: Thu, 23 Dec 2004 14:56:03 GMT
Content-type: text/xml; charset="UTF-8"
Content-length: 960
************************************************************************
*** Outgoing SOAP ******************************************************
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encod
ing/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http
://www.w3.org/1999/XMLSchema-instance"
xmlns:SOAP-ENV="http://schemas.xmlsoap.or
g/soap/envelope/" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<aResponse id="i1" SOAP-ENC:root="1">
<Result href="#i2"/>
</aResponse>
<xsd:Result id="i2" SOAP-ENC:root="0">
<_x005F_x0031_ href="#i3"/>
<c href="#i4"/>
<b href="#i5"/>
</xsd:Result>
<_x005F_x005F_x005F_x0031_ SOAP-ENC:arrayType="xsd:string[3]"
xsi:type="SOAP-ENC
:Array" SOAP-ENC:root="0" id="i3">
<item href="#i6"/>
<item href="#i4"/>
<item href="#i5"/>
</_x005F_x005F_x005F_x0031_>
<c xsi:type="xsd:string" id="i4" SOAP-ENC:root="0">6</c>
<b xsi:type="xsd:string" id="i5" SOAP-ENC:root="0">4</b>
<item xsi:type="xsd:string" id="i6" SOAP-ENC:root="0">2</item>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
************************************************************************

thanks for your help




More information about the Python-list mailing list