You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by bu...@apache.org on 2003/02/12 19:38:12 UTC
DO NOT REPLY [Bug 17017] New: -
The WSDL2Java generates incorrect type metadata for sequences containing arrays of sequences, thus preventing correct deserialization
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: axis-dev@ws.apache.org
ReportedBy: njoneja@interwoven.com
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