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 "Steve Green (JIRA)" <ax...@ws.apache.org> on 2005/09/20 17:53:42 UTC

[jira] Updated: (AXIS-2138) Regression with base64Binary and simpleType elements

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

Steve Green updated AXIS-2138:
------------------------------

    Attachment: still_broken.wsdl

This wsdl shows what was fixed vs what was not fixed.  Please re-open this bug.

> 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, still_broken.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