Hi all,
I use Axis 1.1 to consume the Google WebService.
I generated stubs for Google webservice, and when I put Axis jars in the same 
ClassLoader as my application's, it works fine.

Unfortunately, my application will ultimately run in production within a 
different ClassLoader (the axis jars are in the application ClassLoader's 
parent).
As I would have expected, at runtime, Axis couldn't find a deserializer (see 
stacktrace below).
Is there a way to specify which ClassLoader Axis should use to find its 
deserializer ?

SEVERE: Exception:
org.xml.sax.SAXException: No deserializer defined for array type 
(urn:GoogleSearch}DirectoryCategory
        at org.apache.axis.encoding.ser.ArrayDeserializer.onStartElement
(ArrayDeserializer.java:296)
        at org.apache.axis.encoding.DeserializerImpl.startElement
(DeserializerImpl.java:428)
        at org.apache.axis.encoding.DeserializationContextImpl.startElement
(DeserializationContextImpl.java:976)
        at org.apache.axis.message.SAX2EventRecorder.replay
(SAX2EventRecorder.java:198)
        at org.apache.axis.message.MessageElement.publishToHandler
(MessageElement.java:722)
        at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:233)
        at org.apache.axis.message.RPCElement.getParams(RPCElement.java:347)
        at org.apache.axis.client.Call.invoke(Call.java:2272)
        at org.apache.axis.client.Call.invoke(Call.java:2171)
        at org.apache.axis.client.Call.invoke(Call.java:1691)
        at custom.webservice.Google.rule.GoogleSearchBindingStub.doGoogleSearch
(GoogleSearchBindingStub.java:251)
        at custom.webservice.Google.Google.doExecute(Google.java:117)
[...]

Thanks,
Marc


Reply via email to