|
Hi all,
I am currently developing a doc/lit wrapped service using AXIS 1.2 Beta. I found an unusual behavior for AXIS when I tried to declare Service scoped Typemapping, and so I'm trying to figure out whether this is the intended behavior, a known bug, or a new bug that needs to be filed.
ISSUE: It appears that for typemappings declared in the Service scope in the deployment descriptor, AXIS disregards the namespace declarations for them. Instead of matching both namespace AND localName, AXIS just uses the localName to match against the list of declared mappings.
Here's an example to illustrate the problem:
Let's say I have the following method exposed as a part of a doc/lit wrapped Service:
void createSalesOrder(SalesOrder so);
I declare a Typemapping inside the <service></service> tag, mapping the SalesOrder class to a "nsA:SalesOrder" object using the following:
<typeMapping qname="ns:SalesOrder" xmlns:ns="nsA" languageSpecificType="java: SalesOrder" serializer="com.my.serializer.SalesOrderSerializerFactory" deserializer=" com.my.serializer.SalesOrderDeserializerFactory " encodingStyle=""/>
This means when I send a createSalesOrder message with a "nsA:SalesOrder" as the parameter, AXIS is able (as it should be) to correctly match the signature and dispatch to my Service. However, when I try to send a createSalesOrder message with a "nsB:SalesOrder" as the parameter, AXIS unexpectedly uses the mapping declared for nsA:SalesOrder for nsB:SalesOrder. This "bug" seems to only affect Service-scoped mapping, as the same operation fails if the typemapping declaration is made in the global scope.
I'm sorry I currently don't have time to create and include a sample, but it's a relatively easy bug to reproduce. If someone else can confirm its status (intended behavior, known bug, or unknown bug), I'll gladly add it to JIRA once I get a chance to (most likely two weeks from now).
Thanks.
-Wei
|
