axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From axis-...@ws.apache.org
Subject [jira] Updated: (AXIS-1449) Deserialization of xsd:list attribute broken
Date Wed, 01 Sep 2004 18:39:50 GMT
The following issue has been updated:

    Updater: Steve Green (mailto:steve.green@epok.net)
       Date: Wed, 1 Sep 2004 11:39 AM
    Changes:
             Attachment changed to 1449.patch
    ---------------------------------------------------------------------
For a full history of the issue, see:

  http://issues.apache.org/jira/browse/AXIS-1449?page=history

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/AXIS-1449

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: AXIS-1449
    Summary: Deserialization of xsd:list attribute broken
       Type: Bug

     Status: Unassigned
   Priority: Major

    Project: Axis
 Components: 
             Serialization/Deserialization
   Versions:
             1.2 Beta

   Assignee: 
   Reporter: Steve Green

    Created: Tue, 13 Jul 2004 2:56 PM
    Updated: Wed, 1 Sep 2004 11:39 AM

Description:
This was tested against 1.2 beta and the head of CVS as of 13-Jul-2004.

In this xsd snippet, newEntryIDs is an attribute with a list of strings.

   <xs:complexType name="ModifyResponseType">
      <xs:sequence>
         <xs:element ref="Status"/>
	 <xs:element ref="Extension" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
      <xs:attribute name="id" type="xs:ID" use="optional"/>
      <xs:attribute name="newEntryIDs" use="optional">
         <xs:simpleType>
            <xs:list itemType="xs:string"/>
         </xs:simpleType>
      </xs:attribute>
   </xs:complexType>

The generated java file defines newEntryIDs like this:

    private java.lang.String[] newEntryIDs;  // attribute

During deserialization, BeanDeserializer.onStartElement selects SimpleListDeserializer as
dSer, but then fails this test:

    if (! (dSer instanceof SimpleDeserializer))
                    throw new SAXException(
                         Messages.getMessage("AttrNotSimpleType00",
                                    bpd.getName(),
                                    bpd.getType().toString()));

In fact, SimpleListDeserializer derives directly from DeserializerImpl.  Changing SimpleListDeserializer
to derive from SimpleDeserializer seems to fix the problem.


---------------------------------------------------------------------
JIRA INFORMATION:
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

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


Mime
View raw message