axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 25336] New: - Axis does not deserialize unqualified arrays without type information
Date Mon, 08 Dec 2003 20:11:18 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25336>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25336

Axis does not deserialize unqualified arrays without type information

           Summary: Axis does not deserialize unqualified arrays without
                    type information
           Product: Axis
           Version: 1.0
          Platform: All
        OS/Version: Other
            Status: NEW
          Severity: Blocker
          Priority: Other
         Component: Serialization/Deserialization
        AssignedTo: axis-dev@ws.apache.org
        ReportedBy: yoon@itgssi.com


The problem is that Axis (1.0 final) will not deserialize a properly formated 
array without type information using the "xsi:type" attribute.

The following is an unqualified int array without type information:

<element name="myFavoriteNumbers" type="SOAP-ENC:Array"/>
<myFavoriteNumbers SOAP-ENC:arrayType="xsd:int[2]">
   <number>3</number> 
   <number>4</number> 
</myFavoriteNumbers>


Note that there is no "xsi:type" attribute set with a value of "SE:Array" on
the element "myFavoriteNumbers"

This is a properly formated array as defined by the W3C specs:

http://www.w3.org/TR/SOAP/#_Toc478383522

The result with Axis 1.0 with the request above is a null value for the array.

According to the specs:

"In that example, the array "myFavoriteNumbers" contains several members each 
of which is a value of type SOAP-ENC:int. This can be determined by inspection 
of the SOAP-ENC:arrayType attribute. Note that the SOAP-ENC:Array type allows 
unqualified element names without restriction. These convey no type 
information, so when used they must either have an xsi:type attribute or the 
containing element must have a SOAP-ENC:arrayType attribute. Naturally, types 
derived from SOAP-ENC:Array may declare local elements, with type information."

Therefore, it is my conclusion that Axis 1.0 is in violation of the SOAP 1.1 
specifications and in doing so has the potential to make it incompatible with 
other web service toolkits.

Currently, WASP C++ 4.6 is incompatible with Axis 1.0 (Axis is server, WASP C++ 
is client generator).

Mime
View raw message