Hello all,

Here I am again with this TypeMapping business.  It seems that all of the
code I wrote which works for axis 1.2RC3 no longer works with 1.2final.  It
seems that my client-side type registration is being ignored in its
entirety.  I have not changed my TypeMapping code since I first figured it
out, but when I moved to axis 1.2 it started throwing the "serializer not
found" fault, to wit:

=================================================
     [java] java.io.IOException: No serializer found for class
configuration.Configuration in registry
[EMAIL PROTECTED]
=================================================

I've seen messages like this on this list and I've been following along to
see if anyone presented a reason why this has started to happen but haven't
seen it yet.  I notice the method for registering array serializers and
deserializers has changed in the WSDD deployment of services, so I've tried
to follow suit, changing from this:

=================================================
 <typeMapping
deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
qname="ns4:ConfigurationArray"
serializer="org.apache.axis.encoding.ser.ArraySerializerFactory"
type="java:configuration.Configuration[]" xmlns:ns4="http://configuration"/>
=================================================

to this:

=================================================
<arrayMapping qname="ns:ArrayOfConfiguration"
xmlns:ns="http://configuration.Configuration";
languageSpecificType="java:configuration.Configuration[]"
innerType="ns2:Configuration" xmlns:ns2="http://configuration";
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
=================================================

But it's unclear to me if this is correct or even a part of the problem I'm
experiencing.  

My client side registration code, which worked up until 1.2final, was this:

=================================================
     service=new Service(wsdlUrl, qn);
     TypeMappingRegistry tmr = service.getTypeMappingRegistry();
     TypeMapping tm = tmr.createTypeMapping();
     tm.register(Class.forName("configuration.Configuration"), new
QName("http://configuration";, "Configuration"), new
ConfigurationSerFactory(), new
ConfigurationDeserFactory());
     tmr.register("http://schemas.xmlsoap.org/soap/encoding/";, tm);
=================================================

But this results in the fault as listed above, and yes I've written the
Serializer and Deserializer, all of which worked before 1.2final.  I've
tried every single different incantation twiddle I can think of to get this
to work again to no avail.  The code in the samples directory of axis
doesn't help, as it requires you to specifically create
SerializationContexts, which I'm not doing here.  I'd appreciate any piece
of advice or pointer towards documentation on the new way to register types
on the client side so I can get my code working again.  

Kind thanks,

Benjamin
___________________________________________________________________
The information contained in this message and any attachment may be
proprietary, confidential, and privileged or subject to the work
product doctrine and thus protected from disclosure.  If the reader
of this message is not the intended recipient, or an employee or
agent responsible for delivering this message to the intended
recipient, you are hereby notified that any dissemination,
distribution or copying of this communication is strictly prohibited.
If you have received this communication in error, please notify me
immediately by replying to this message and deleting it and all
copies and backups thereof.  Thank you.

Reply via email to