Hi,

I would like to know the benefits of the change in v1.22 of 
SOAPMappingRegistry. The introduction of static factories will
minimize the number of instances created. But I'm confused on
how the chaining of SMRs will benefit the developer.

In the Apache 2.2 release, you would create
a SMR for a particular schema namespace like this:

SOAPMappingRegistry smr = new 
SOAPMappingRegistry(Constants.NS_URI_1999_SCHEMA_XSD); //1999 namespaced 
elements only

In the 1.22 version, you would do:

SOAPMappingRegistry smr = SOAPMappingRegistry.getBaseRegistry 
(Constants.NS_URI_1999_SCHEMA_XSD);

That's all fine and dandy.

But now in 1.22; you also can chain the SMRs like this:

SOAPMappingRegistry smr2 = new SOAPMappingRegistry( smr, 
Constants.NS_URI_2000_SCHEMA_XSD );
Call.setSOAPMappingRegistry( smr2 );

This chaining (in my understanding) means that:
1) All overriding or new typemappings will be registered in smr2.
2) All default typemappings for 1999 namespace is stored in the
parent unchanged.

Does it mean that if I want my javaType to be serialized to "A" particular
namespace; then I need to know which SMR to register my mappings/serializers
into in the chain ?

Suppose that I wanted all my types to be mapped to the 2000 namespace
except for String.class which I'd prefer to be in the 1999 namespace. Does 
it mean
then that I'll need to override the default mapping for String.class in 
smr2; so that it will
in fact call the one in my parent. Is this how I do it ? I also see that 
there's a
SMR.getParent() method - which I think will allow me to register my types in
my parent SMR instead..

In a nutshell, what is this chaining good for ?

Yuan




















_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp

Reply via email to