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 ax...@ws.apache.org on 2004/09/06 14:11:37 UTC

[jira] Commented: (AXIS-666) The WSDL2Java generates incorrect type metadata for sequences containing arrays of sequences, thus preventing correct deserialization

The following comment has been added to this issue:

     Author: Raphael DrĂ¼ner
    Created: Mon, 6 Sep 2004 5:11 AM
       Body:
This bug is still in the current nightly build. Can you please check JavaBeanHelperWriter again as it generates wrong type mapping code in the webservice clients. Our production webservices work well with Axis 1.0 clients but the newer Axis versions generates clients that need to be patched by hand.

Thank you.
---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/AXIS-666?page=comments#action_52873

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/AXIS-666

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: AXIS-666
    Summary: The WSDL2Java generates incorrect type metadata for sequences containing arrays of sequences, thus preventing correct deserialization
       Type: Bug

     Status: Reopened

    Project: Axis
 Components: 
             WSDL processing
   Versions:
             1.1

   Assignee: Glen Daniels
   Reporter: Navneet Joneja

    Created: Wed, 12 Feb 2003 6:38 PM
    Updated: Mon, 6 Sep 2004 5:11 AM
Environment: Operating System: All
Platform: All

Description:
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


---------------------------------------------------------------------
JIRA INFORMATION:
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

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira