Take a look at this from ws-i.org
http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html#soapenc_Array
Christophe Roudet wrote:
I am migrating from Axis-1.1 to Axis-1.2.1 (rpc style), I have just noticed
a difference in array handling:
I have something like this in my wsdl:
<complexType name="Parameter">
<sequence>
<element name="name" nillable="false" type="xsd:string"/>
<element name="value" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="Parameters">
<complexContent>
<restriction base="soapenc:Array">
<sequence>
<element name="item" type="tns:Parameter" minOccurs="0"
maxOccurs="unbounded"/>
</sequence>
<!-- <attribute ref="soapenc:arrayType"
wsdl:arrayType="tns:Parameter[]"/> -->
</restriction>
</complexContent>
</complexType>
With Axis-1.1, in the soap message I had a list of "item"s:
<parameters xsi:type="soapenc:Array" soapenc:arrayType="ns2:Parameter[1]"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<item>
<name xsi:type="xsd:string">url</name>
<value xsi:type="xsd:string">ftp://activia.net</value>
</item>
<item>
....
</parameters>
Now, with Axis-1.2.1, I have "parameters"
<parameters soapenc:arrayType="ns2:Parameter[3]" xsi:type="soapenc:Array"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<parameters xsi:type="ns2:Parameter">
<name xsi:type="xsd:string">action</name>
<value xsi:type="xsd:string">set_dns</value>
</parameters>
<parameters xsi:type="ns2:Parameter">
<name xsi:type="xsd:string">nameserver</name>
<value xsi:type="xsd:string">66.98.244.52</value>
</parameters>
...
</parameters>
Is this correct, and is it possible to change the wsdl to still have a list
of items?
Thanks
Christophe