Output-Messages using soapenc:Array deserialize to arrays with null elements ----------------------------------------------------------------------------
Key: AXIS-2485 URL: http://issues.apache.org/jira/browse/AXIS-2485 Project: Apache Axis Type: Bug Components: Serialization/Deserialization Versions: 1.3, 1.4 Reporter: Thomas Jacob When using an output message with one parameter, whose type is a complex type using soapenc:Array, e.g. <complexType name="ProductArray"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="product:Product[]"/> </restriction> </complexContent> </complexType> The response SOAP envelope is decoded incorrectly. First, it is decoded into an array of arrays, for example if the original response contains 3 elements, it is decoded into an array of 3 elements, each element being an array of 1 element, containing the actual element (Product in this case). The mapper to Java types does not understand the inner arrays correctly, and transforms them into nulls. So eventually, the caller receives an array with 3 nulls. Using a complex type with a sequence of on element, set to maxOccurs="unbounded" works well, e.g. <complexType name="ProductArray"> <sequence> <element name="elements" type="product:Product" maxOccurs="unbounded"/> </sequence> </complexType> Also, the complex type with soapenc:Array works fine for input messages, i.e. method parameters. Only soapenc:Array in the output does not work. The bug occurs in versions 1.3 and 1.4 of Axis. I don't know whether it also occurs in earlier versions. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]