.NET is throwing an error because the WSDL response message definition doesn't match the structure of the returned message. The WSDL says that the message looks like this:

<wsdl:message name="returnarrResponse">
    <wsdl:part element="intf:returnarrResponse" name="parameters"/>
</wsdl:message>

where intf:returnResponse looks like this:
 <element name="returnarrResponse">
   <complexType>
     <sequence>
        <element name="returnarrReturn" type="impl:bean1"/>
     </sequence>
   </complexType>
</element>

and impl:bean1 looks like this:
 <complexType name="bean1">
   <sequence>
      <element name="a" type="xsd:int"/>
      <element name="myArr" nillable="true" type="xsd:int"
           minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
 </complexType>

This looks like a very nice doc/literal definition. Note that this definition doesn't use the SOAP encoding-based ArrayOf_xsd_it datatype.

On the wire, though, Axis is in fact returning the ArrayOf_xsd_int type:
 <complexType name="ArrayOf_xsd_int">
   <complexContent>
     <restriction base="soapenc:Array">
        <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:int[]"/>
     </restriction>
   </complexContent>
 </complexType>




Reply via email to