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 >