DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14844>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14844 SOAP Array deserialization bug Summary: SOAP Array deserialization bug Product: Axis Version: 1.0-rc2 Platform: PC OS/Version: Windows XP Status: NEW Severity: Critical Priority: Other Component: Serialization/Deserialization AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] We encounter a serious problem when we try to use the dynamic invocation on the searchByCounry operation of the http://www.capeclear.com/GlobalWeather.wsdl server. This operation uses a SOAP Array structure, the ArrayOfStataion type, as a return parameter. When called, the server adds a "xsi:type=ArrayOfStation" information to the XML document. However, this type information is modified to "Array", the base type of ArrayOfStation during the Xis deserialization. Hence, the compatibility checking leads to an exception raising in org.apache.axis.message.RPCHandler.onStartchild at line 285. In our case, the JavaUtils.isConvertable method returns false due to the fact that we use dynamical types instead of Java types. But, the actual reason is that the setting of the type variable at line 185, that should be determined from the xsi:type of the ArrayOfStation XML structure, is not correct (set to Array as mentionned before). A way to confirm what have been said is to observe the "typeFromAttr00" display at line 193 when the soap array is deserialized. Here is the XSD definition of our SOAP array. <xsd:complexType name="ArrayOfStation"> <xsd:complexContent> <xsd:restriction base="SOAP-ENC:Array"> <xsd:sequence> <xsd:element maxOccurs="unbounded" minOccurs="0" name="item" type="xsd1:Station"/> </xsd:sequence> <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="xsd1:Station[]"/> </xsd:restriction> </xsd:complexContent> </xsd:complexType>