You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Robert Mitschke <ro...@web.de> on 2004/08/31 17:49:32 UTC

Axis Client is not using registered Deserializer

Hello,

I am new to this list so, hello everybody.

I am developing a JBoss based Webservice with Axis. Due to a complicated
WSDL File to which I have to be compatible I needed to create a custom
Serializer and Deserializer. These do work perfectly on the Server Side. I
also use Axis for my test client, but there only the serializer for the
object which I supply to the method I call works. The deserializer which
belongs to the return type object does not get called. Both type mappings
are registered with Axis at the end of the SOAPBindingStub.createCall method
like this:

		_call.registerTypeMapping(MbResult.class,
                    new
QName("http://application.mellibase.de/MellibaseMessageTypes.xsd","mb-result
"),
                    new ResultSerializerFactory(),
                    new ResultDeserializerFactory());

            _call.registerTypeMapping(MbRequest.class,
                    new
QName("http://application.mellibase.de/MellibaseMessageTypes.xsd","mb-reques
t"),
                    new RequestSerializerFactory(),
                    new RequestDeserializerFactory());

The Factories (Serializer and Deserializer) for my Result object do get
created but are never called. Thus a Deserializer object never gets created.
The request part on the client works like a charm. Factories get created,
serializer is requested from the factory and also works well.

It may be helpful to know that the call to the webservice now returns an
object of type org.apache.xerces.dom.DeferredElementNSImpl (do not know why)
which when toString is called returns this: [ns1:patient: null]. (Patient is
a member object of my Result object and in xml it is a sub node).

Even though this is only a test client and the server part does work, I
would like to know what I am doing wrong, and how I could go about fixing
this behaviour.

If anyone could point me into the right direction for troubleshooting this
problem I would be very thankful.

Robert