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=17017>. 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=17017 The WSDL2Java generates incorrect type metadata for sequences containing arrays of sequences, thus preventing correct deserialization Summary: The WSDL2Java generates incorrect type metadata for sequences containing arrays of sequences, thus preventing correct deserialization Product: Axis Version: 1.1beta Platform: All OS/Version: All Status: NEW Severity: Normal Priority: Other Component: WSDL processing AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] When a WSDL describes an element as a sequence of array of sequence, (ie a bean with a member property which is an array of beans), the type metadata that is generated incorrectly identifies the property. E.g. if we had class Moo { public Cow[] getBovines() } the type metadata give the XML type as Cow instead of ArrayOfCow. The bug can be fixed by changing line 279 in JavaBeanHelperWriter. Reproduced in context below: (lines 274-283) // Some special handling for arrays TypeEntry elemType = elem.getType(); while (elemType.getRefType() != null) { elemType = elemType.getRefType(); } QName xmlType = elemType.getQName(); // <======= changeme if (xmlType != null && xmlType.getLocalPart().indexOf("[") > 0) { // Skip array types, because they are special xmlType = null; } the line flagged with the // <======= changeme QName xmlType = elemType.getQName(); // <======= changeme should be changed to: QName xmlType=elem.getType().getQName(); - Navneet
