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 "Raphael Dr?ner (JIRA)" <ax...@ws.apache.org> on 2004/12/13 15:56:16 UTC

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

     [ http://nagoya.apache.org/jira/browse/AXIS-666?page=comments#action_56582 ]
     
Raphael DrĂ¼ner commented on AXIS-666:
-------------------------------------


seems to be fixed since version 1.2 RC1
Our WSDL works again as they do with Axis 1.0.

> The WSDL2Java generates incorrect type metadata for sequences containing arrays of sequences, thus preventing correct deserialization
> -------------------------------------------------------------------------------------------------------------------------------------
>
>          Key: AXIS-666
>          URL: http://nagoya.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://nagoya.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