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 "Viera Bibr (JIRA)" <ax...@ws.apache.org> on 2004/12/21 19:59:15 UTC

[jira] Commented: (AXIS-1736) multiref deserialization problem

     [ http://nagoya.apache.org/jira/browse/AXIS-1736?page=comments#action_56938 ]
     
Viera Bibr commented on AXIS-1736:
----------------------------------

Correction: 
I typed in a wrong axis version. Should be 1.2.RC2
Thanks. 

> multiref deserialization problem
> --------------------------------
>
>          Key: AXIS-1736
>          URL: http://nagoya.apache.org/jira/browse/AXIS-1736
>      Project: Axis
>         Type: Bug
>   Components: Serialization/Deserialization
>     Versions: 1.0-rc2
>  Environment: Windows 2000
>     Reporter: Viera Bibr

>
> When axis parses a multiref, it simply replaces this multiref with its definition loosing multiref element name.
> For example:
> I am trying to deserialize the following portion of SOAP:
> <myElement href="#id3"/>
> <multiRef id="id3"
>           soapenc:root="0"
>           soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
>           xsi:type="xsd:short"
>           xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">33</multiRef>
> When I try to parse "<myElement href="#id3"/>" from the SOAP above, I get "multiRef" for localName parameter in the onStartElement(...) method of my deserializer. However, I would expect to get "myElement" for localName parameter.
> As I can see, org.apache.axis.encoding.DeserializerImpl just replaces multi-references with their definitions, i.e., it replaces "myElement" with "multiRef". This is why I am getting "multiRef" instead of "myElement".
> DeserializerImpl (in Axis 1.2RC2) replaces multi-references with their definitions in startElement(...) method. As soon as it realized that it found a multiref (if(href != null) on line 347), it resolves multiref to ref (line 351) and then publishes ref to the specified handler (line 369). This ref object seems to be the corresponding multiref definition. So, it publishes multiref definition to the specified handler ignoring the actual multiref element name ("myElement" in the example above). So, when I encounter myElement element, I see multiref definition in the parser. Please, correct me if I am wrong.
> Thank you.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.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