axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Davanum Srinivas (JIRA)" <axis-...@ws.apache.org>
Subject [jira] Resolved: (AXIS-666) The WSDL2Java generates incorrect type metadata for sequences containing arrays of sequences, thus preventing correct deserialization
Date Sun, 01 May 2005 22:03:06 GMT
     [ http://issues.apache.org/jira/browse/AXIS-666?page=all ]
     
Davanum Srinivas resolved AXIS-666:
-----------------------------------

    Resolution: Fixed

closing bug as fixed as per the last comment.

> The WSDL2Java generates incorrect type metadata for sequences containing arrays of sequences,
thus preventing correct deserialization
> -------------------------------------------------------------------------------------------------------------------------------------
>
>          Key: AXIS-666
>          URL: http://issues.apache.org/jira/browse/AXIS-666
>      Project: Axis
>         Type: Bug
>   Components: WSDL processing
>     Versions: 1.1
>  Environment: Operating System: All
> Platform: All
>     Reporter: Navneet Joneja
>     Assignee: Glen Daniels
>  Attachments: OuterFix.txt, arrayproblemtrace.txt, fix.txt, patch.txt, testcase.zip,
tst.zip
>
> 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

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


Mime
View raw message