I see lots of history about using array complex types in SOAP requests, but I still can't divine how to do it right. Ultimately, I need to generate an array of complex structures, but the array part is baffling me, so I thought I'd start with an array of integers, using a service that's specifically designed for testing.
Using the WSDL specified in public.py at http://mssoapinterop.org/asmx/simple.asmx?WSDL, I'm trying to use the echoIntegerArray service. I've tried a number of different ways to build the array in the request call, but none seem to work; every request returns a syntactically correct, but empty, response (that is, result=client.service.echoIntegerArray(array)) always returns None, regardless of the machinations I use to construct the variable "array".
Can someone show me the client code for an array of ints that works with this service?
--rbt
Hey Robert,
In 0.3.8 the arrays for rpc/encoded services got much easier (and got fixed for servers that required the 'soap-enc:arrayType' attribute like this one). In 0.3.8 the encoded arrays now work like document/literal and rpc/literal arrays have for a long time. That is, you can simply pass them as you would expect in python - as a list or tuple.
In any case, you can pass the array of integers in 0.3.8 to the http://mssoapinterop.org/asmx/simple.asmx?WSDL service as follows (or anything like this):
client.service.echoIntegerArray([1,2,3])
Suds 0.3.8 is soon to be released.
Regards,
Jeff
On 11/23/2009 03:47 PM, Robert Marsanyi wrote:
I see lots of history about using array complex types in SOAP requests, but I still can't divine how to do it right. Ultimately, I need to generate an array of complex structures, but the array part is baffling me, so I thought I'd start with an array of integers, using a service that's specifically designed for testing.
Using the WSDL specified in public.py at http://mssoapinterop.org/asmx/simple.asmx?WSDL, I'm trying to use the echoIntegerArray service. I've tried a number of different ways to build the array in the request call, but none seem to work; every request returns a syntactically correct, but empty, response (that is, result=client.service.echoIntegerArray(array)) always returns None, regardless of the machinations I use to construct the variable "array".
Can someone show me the client code for an array of ints that works with this service?
--rbt
fedora-suds-list mailing list fedora-suds-list@redhat.com https://www.redhat.com/mailman/listinfo/fedora-suds-list