Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Fixed
-
None
-
None
-
None
-
Axis 1.2RC2
Description
rpc/encoded mode: a return value String[] is encoded as soapenc:string[] instead of xsd:string[]
This prevents Axis to work with a .NET client, hence a blocker.
Incorrect response from Axis:
<multiRef id="id9" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns3:NamedValue" xmlns:ns3="http://company.com/ws" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<name xsi:type="soapenc:string">ATTRIBUTE_ENUMERATION</name>
<value soapenc:arrayType="soapenc:string[4]" xsi:type="soapenc:Array">
<item xsi:type="soapenc:string">Spring</item>
<item xsi:type="soapenc:string">Summer</item>
<item xsi:type="soapenc:string">Fall</item>
<item xsi:type="soapenc:string">Winter</item>
</value></multiRef>
soapenc:string[4] should be xsd:string[4] and all soapenc:string should be xsd:string
The WSDL contains this response definition:
<wsdl:message name="getSupportedLanguagesResponse">
<wsdl:part name="getSupportedLanguagesReturn" type="impl:ArrayOf_xsd_string" />
</wsdl:message>
<complexType name="ArrayOf_xsd_string">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]" />
</restriction>
</complexContent>
</complexType>
So the return array is clearly defined as xsd:string[], yet at run-time the response message contains soapend:string[]