[ 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