wsdl2py/ZSI and complex types with arrays

eviljonny how at about.no.com
Wed Feb 4 10:55:32 EST 2009


Hello all,

I have been trying to write a web service using ZSI with wsdl2py. I have 
read 'The Zolera Soap Infrastructure User’s Guide Release 2.0.0' and some 
older guides (a guide by Nortel called Using ZSI with wsdl2py) and am 
unable to find any working examples of how to use arrays in complex 
types. I have a Request method which takes an array as an argument and 
responds with an array.

Assume I am just trying to write a client at this point. I have tried a 
lot of variations on this and can get a call made but using a tracefile 
the element SOIID is always empty no matter what I do.

Please excuse me if the code is not fantastic. I am very new to python.

#---------------------------------------
from GraphingReporter_services import *
from GraphingReporter_services_types import *

loc = GraphingReporterLocator()
fp = file("/tmp/PYTHON-TRACE","w")
port = loc.getGraphingReporterPort(tracefile=fp)

request = GraphRequestSOIID()
graphRequest = request.new_soiid()
graphRequest.Soiid = [123456,123457]
request.set_element_soiid(graphRequest)
response = port.GetGraphsForSOIID(request)

fp.close()
#---------------------------------------

The outgoing call in the trace shows 
#---------------------------------------
<SOAP-ENV:Body xmlns:ns1="urn:GraphingReporter">
<ns1:GetGraphsForSOIID>
<soiid></soiid>
</ns1:GetGraphsForSOIID>
</SOAP-ENV:Body>
#---------------------------------------

Can anyone provide me an example (or a link to an example) of how to 
populate the arrays in complex types? Even pointing me in the right 
direction would be wonderful.

-- 
EvilJonny



More information about the Python-list mailing list