I guess, our problems may have the same root.

It seems like 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
multi-reference definition to the spcified handler ignoring the actual
multi-reference. Please, correct me if I am wrong.

Thank you.
Alexander.

On Tue, 14 Dec 2004 15:22:34 -0800, Peter Molettiere
<[EMAIL PROTECTED]> wrote:
> 
> I'm having similar problems, I think. Maybe we can pool our resources?
> 
> On Dec 14, 2004, at 2:24 PM, Alexander Sherkin wrote:
> > <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>
> 
> My multiRefs have the exact same structure, but in debugging my
> deserialization process, I notice that my deserializer does seem to be
> deserializing the multiRef properly. My problem is that when I try to
> call
> 
>         RPCElement rpcElem = (RPCElement) env.getFirstBody();
>         RPCParam struct = rpcElem.getParam("myElement");
> 
> struct ends up being null.
> 
> > 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".
> 
> Looking through DeserializerImpl, I don't see where this happens.
> 
> > Is this behavior normal? If so, how can I get true localName (i.e.
> > "myElement") from my derserializer?
> 
> ... I'm not sure about this...
> 
> --
> Peter Molettiere
> Senior Engineer
> Truereq, Inc.
> http://www.truereq.com/
> 
>

Reply via email to