Hi,
While suds has recently made very good progress in handling arrays, I'm currently
struggling with a message, containing an array of complex type. The array seems not being
marshalled correctly.
The expected request must look like this:
...
<listData xsi:type="urn:ArrayOf_tns4_LotListReqData"
soapenc:arrayType="com:LotListReqData[]"
xmlns:urn="http://server/soap/service"
xmlns:com="com.amd.extpriority.data">
<element>
<lotID xsi:type="soapenc:string"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">My...
<targetFacility xsi:type="soapenc:string"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">Fa...
ity>
<blocking xsi:type="xsd:int">1</blocking>
<duration xsi:type="xsd:int">1</duration>
<reset xsi:type="xsd:boolean">true</reset>
</element>
</listData>
...
Instead, suds (v0.3.2) generates an answer like this:
...
<listData xsi:type="intf:ArrayOf_tns4_LotListReqData"
arrayType="LotListReqData">
<element xmlns="http://server/soap/service"
xsi:type="xs:string">
<blocking xmlns="com.amd.extpriority.data"
xsi:type="xs:int">1</blocking>
<duration xmlns="com.amd.extpriority.data"
xsi:type="xs:int">1</duration>
<lotID xmlns="com.amd.extpriority.data"
xsi:type="tns:string">MyLot</lotID>
<reset xmlns="com.amd.extpriority.data"
xsi:type="xs:boolean">true</reset>
<targetFacility xmlns="com.amd.extpriority.data"
xsi:type="tns:string">Facility</targetFacility>
</element>
</listData>
Note the element tag in line #2 is generated as string type. Instead it should have no
attributes or be of type LotListReqData.
The code to generate this message is:
...
cl = Client(url)
ll = cl.factory.create('ns0:LotListReqData')
ll.blocking = 1
ll.duration = 1
ll.reset = True
ll.lotID = "MyLot"
ll.targetFacility = "Facility"
aa = cl.factory.create("ArrayOf_tns4_LotListReqData")
aa.value = ll
...
Did I miss something, or is this possibly a bug or a missing feature in suds?
Regards,
Steffen