[ http://issues.apache.org/jira/browse/AXIS-2138?page=all ]

Davanum Srinivas updated AXIS-2138:
-----------------------------------

    Priority: Blocker  (was: Major)

> Regression with base64Binary and simpleType elements
> ----------------------------------------------------
>
>          Key: AXIS-2138
>          URL: http://issues.apache.org/jira/browse/AXIS-2138
>      Project: Apache Axis
>         Type: Bug
>   Components: WSDL processing
>     Versions: current (nightly)
>     Reporter: Steve Green
>     Priority: Blocker
>  Attachments: another.wsdl
>
> The following xsd snippet is cut down from http://www.w3.org/2000/09/xmldsig#
>        <complexType name="ReferenceType">
>          <sequence>
>            <element ref="ds:DigestValue"/>
>          </sequence>
>        </complexType>
>  
>        <element name="DigestValue" type="ds:DigestValueType"/>
>  
>        <simpleType name="DigestValueType">
>          <restriction base="base64Binary"/>
>        </simpleType>
>  
> Once upon a time, the bean metadata for the DigestValue element looked like 
> this:
>  
>          elemField.setXmlName(
>              new javax.xml.namespace.QName(
>                  "http://www.w3.org/2000/09/xmldsig#";, "DigestValue"));
>          elemField.setXmlType(
>              new javax.xml.namespace.QName(
>                  "http://www.w3.org/2001/XMLSchema";, "base64Binary"));
>  
> But now it looks like this:
>          elemField.setXmlName(
>              new javax.xml.namespace.QName(
>                  "http://www.w3.org/2000/09/xmldsig#";, "DigestValue"));
>          elemField.setXmlType(
>              new javax.xml.namespace.QName(
>                  "http://www.w3.org/2000/09/xmldsig#";, "DigestValue"));
>  
> And as a result, I get this:
>  
>          org.xml.sax.SAXException: Found character data inside an array 
> element while deserializing
> It looks like the problem is in JavaBeanHelperWriter and came as the result 
> of:
>         revision 1.50
>         date: 2005/03/20 18:58:49;  author: gdaniels;  state: Exp;
>         lines: +6 -7
>         branches:  1.50.2;
>         Fix:
>         
>         http://issues.apache.org/jira/browse/AXIS-1869
>         
>         Don't walk the ref chain unless the TypeEntry is a CollectionTE
>         - this should DTRT for true derived types.
> Specifically,
>         // Otherwise, use the type at the end of the ref
>         // chain.
>         while (elemType.getRefType() != null) {
>             elemType = elemType.getRefType();
>         }
> was changed to
>         // Otherwise, use the first non-Collection type we
>         // encounter up the ref chain.
>         while (elemType instanceof CollectionTE) {
>             elemType = elemType.getRefType();
>         }

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

Reply via email to