The problem here was that the DeserializationContextImpl was using the current 
element's mappings, and only checking its local NSStack if there was no current 
element.  During the creation of a new element, there is an attempt to get the type 
qname, which needs to be able to turn strings like "ens:emailScript" into QNames - 
since the new element isn't yet the DeserContext's current element, we were failing 
here.

This has now been fixed - thanks for the catch!

--Glen

> -----Original Message-----
> From: Taras Shkvarchuk [mailto:[EMAIL PROTECTED]]
> Sent: Tuesday, March 26, 2002 8:05 PM
> To: '[EMAIL PROTECTED]'
> Subject: prefix mapping resolution bug.
> 
> 
> I have noticed a small problem with the Deserializer.
> Axis is unable to resolve namespace mapping if it has been 
> defined on the
> same level.
> The following tag will not have its type picked up because 
> namespace mapping
> will fail.
> ***
> <ens:sendEmail xmlns:ens="http://my.org/schemas/service";
> xsi:type="ens:emailScript"> 
> ***
> In deserializer startPrefixMapping() event is called after 
> startElement(),
> but type of the node is determined within startElement() call.
> If you put the namespace definition one level higher everything works
> perfect of cause.
> 
> I don't see an easy fix for this right now, but I'll keep looking.
> Does anybody else see any painless way to fix it?
> 
> -Taras
> 

Reply via email to