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


Reply via email to