Hi,

 

                I have been using suds for about a week now, and I am very impressed with the capabilities and ease of use of this API. Outstanding work!

 

                I am using suds to work with a fairly complex WSDL, and have almost everything working, with the exception of the arrayType encoding. I downloaded and installed the beta of 0.3.8 because I saw a posting stating that the beta supports setting the arrayType. After spending a couple of hours grepping through the code and trying different things, I am still unable to determine how to set the arrayType.

 

                I can make successful requests using SoapUi, and the section I am trying to generate looks like this:

 

<item xsi:type="bus:parameterValue">

                                <name xsi:type="xsd:string">owner_id</name>

                                <value xsi:type="soapenc:Array" soapenc:arrayType="bus:parmValueItem[]">

                                                <item xsi:type="bus:simpleParmValueItem">

                                                                 <use xsi:type="xsd:string">321</use>

                                                </item>

                                </value>

                </item>

 

                The API is generating:

 

                <item xsi:type="ns0:parameterValue">

                                 <ns0:name xsi:type="ns2:string">owner_id</ns0:name>

                                 <ns0:value xsi:type="SOAP-ENC:Array">

                                                <item xsi:type="ns0:simpleParmValueItem">

                                                                <ns0:inclusive xsi:type="ns2:boolean"/>

                                                                <ns0:display xsi:type="ns2:string"/>

                                                                <ns0:use xsi:type="ns2:string">321</ns0:use>

                                                </item>

                                </ns0:value>

                </item>

 

                Here is my code:

 

                def createParameter(client, name, value):

                                item = client.factory.create('parameterValue')

 item.name = name

 item.value = client.factory.create('SOAP-ENC:Array')

 spvi = client.factory.create('simpleParmValueItem')

 spvi.use = value

 item.value.item = [spvi]

 

                The WSDL is almost 1MB, so I won’t include it here. Any help is very much appreciated.

 

Thanks,

 

-Bill