Web Service: deserialization problem
Web Service: deserialization problem
- Subject: Web Service: deserialization problem
- From: Francis Labrie <email@hidden>
- Date: Mon, 19 Jan 2004 13:05:16 -0500
Hi,
I've WebObjects Web Service applications exchanging objects throught
SOAP. I've registered both AXIS serializer and deserializer factories
on each application, just after the
ApplicationDidFinishLaunchingNotification notification (static
initialization fail).
On the Web Service server, my objects are correctly serialized. But on
the Web Service client side, an exception is always thrown:
Error during invocation org.xml.sax.SAXException: No deserializer for
{http://zks.net/webobjects/webservices/soap/}WSGenericRecord
com.webobjects.foundation.NSForwardException for AxisFault
faultCode: {http://xml.apache.org/axis/}Server.userException
faultString: org.xml.sax.SAXException: No deserializer for
{http://zks.net/webobjects/webservices/soap/}WSGenericRecord
faultActor: null
faultDetail:
stackTrace: org.xml.sax.SAXException: No deserializer for
{http://zks.net/webobjects/webservices/soap/}WSGenericRecord
at
org.apache.axis.encoding.DeserializerImpl.onStartElement(DeserializerImp
l.java:447)
at
org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.
java:394)
at
org.apache.axis.encoding.DeserializationContextImpl.startElement(Deseria
lizationContextImpl.java:906)
at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:
200)
at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.j
ava:684)
[...]
Why? Both serializer seems correctly registered using this
com.webobjects.appserver.WOWebServiceRegistrar call:
WOWebServiceRegistrar.registerFactoriesForClassWithQName(
new WSGenericRecordSerializerFactory(),
new WSGenericRecordDeserializerFactory(),
WSGenericRecord.class,
WSGenericRecordSerialization.ClassQName);
Just to be sure, I've tested the registration status using
com.webobjects.appserver.WOWebServiceUtilities:
-
WOWebServiceUtilities.qNameForType(net.zks.wscontrol.WSGenericRecord.cla
ss, null) successfully returns the net.zks.wscontrol.WSGenericRecord
class reference;
-
WOWebServiceUtilities.typeForQName(net.zks.webservices.support.xml.WSGen
ericRecordSerialization.ClassQName, null) successfully returns the
"{http://zks.net/webobjects/webservices/soap/}WSGenericRecord" AXIS
qualified name.
So what's the problem with deserializer registration? Does anyone here
have a clue or an advice? Or should I report this as a bug?
Thanks,
--
Francis Labrie
Saint-Bruno-de-Montarville, Quebec, Canada
_______________________________________________
webobjects-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/webobjects-dev
Do not post admin requests to the list. They will be ignored.