axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "R J Scheuerle Jr" <sc...@us.ibm.com>
Subject Re: Default bean mappings
Date Fri, 08 Feb 2002 16:03:04 GMT
If the JSR's came up with a namespace <-> package mapping I would be
inclined to do agree with you.

You also need to worry about array mappings.  What if the QName is QName
("http://model.address.myapp", "ArrayOfAddress") ?
in such cases it should figure out to map to model.address.myApp.Address
[]...

I agree that I don't like the type mapping registration.  I would much
prefer something like the following:

<namespaceMapping
    namespace="http:foo.com"
    package="my.foo.package"
    arrayQNamePrefix="ArrayOf"

    <!-- the following are optional attributes -->
    beanSerializerFactory = ...
    beanDeserializerFactory = ...
    arraySerializerFactory = ...
    arrayDeserializerFactory = ...
/>

So the above would indicate to map all qnames in the indicated namespace to
classes of the indicated package.  The
arrayQNamePrefix setting indicates how to recognize array qnames.


Rich Scheuerle
XML & Web Services Development
512-838-5115  (IBM TL 678-5115)


                                                                                         
                                        
                      "Sedukhin, Igor"                                                   
                                        
                      <Igor.Sedukhin@ca        To:       axis-dev@xml.apache.org      
                                           
                      .com>                    cc:                                    
                                           
                                               Subject:  Default bean mappings           
                                        
                      02/08/2002 07:55                                                   
                                        
                      AM                                                                 
                                        
                      Please respond to                                                  
                                        
                      axis-dev                                                           
                                        
                                                                                         
                                        
                                                                                         
                                        



This bugs me for a while already. May be there is a reason it is happening
this way, but please refresh me on it.


Here is what:
By default Emitter generates type namespaces and type declarations like
this:
<wsdl:definitions ... xmlns:tns1="http://model.address.myapp" ...>
<types>
<schema targetNamespace="http://model.address.myapp" ...>
<complexType name="Address"> ...
This is basically for a class myapp.address.model.Address.


So, why is it that I had to explicitly declare beanMappings during the
deployment for proper ser/deser to be selected by the RPCHandler? It seems
it is very easy to try and reconstruct a class name from the default
assumption about the namespace format and then check if the class is
loadable, then only apply explicit beanMappings.


I'd really like to get it this simple.
It is possible to change DefaultTypeMappingImpl to implement getTypeQName,
getSerializer and getDesearializer to take care of it as explained above.


Does anyone have objection or comments on this?


-- Igor Sedukhin .. (Igor.Sedukhin@ca.com)
-- (631) 342-4325 .. 1 CA Plaza, Islandia, NY 11788










Mime
View raw message