Skip to Main Content

Java EE (Java Enterprise Edition) General Discussion

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Apache Axis and deserializing problem

843833Aug 9 2006
I�ve developed a webservices client, generating code from the wsdl of the service provider, using WSDL2Java utility and Axis1.4.

The strange fact is that now I notice two different behaviours if I change the endpoint url of my client.

With one service provider, the custumer�s test environment, everything works well, but when I switch the endpoint to another custumer�s installation of the same application (of course) I receive this error:



15:24:24,653 ERROR [Call] Exception:

org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.

at org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDeserializer.java:145)

at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)

at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)

at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)

at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:369)

at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)

at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)

at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)

at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:369)

at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)

at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)

at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)

at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)

at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)

at org.apache.axis.client.Call.invoke(Call.java:2467)

at org.apache.axis.client.Call.invoke(Call.java:2366)

at org.apache.axis.client.Call.invoke(Call.java:1812)





I can imagine, from the log that the problem is about the SimpleDeserialize that is not able to deserialize one complex type returned by the service provider.

But why the same client is able to deserialize it when I launch it against the other endpoint, where the webservice response is the same??

This sounds me very strange !!!!!





Anyway, how can I tell axis, in the stub class, to use a good deserializer for complex types ?





Thanks a lot.



Max
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Sep 6 2006
Added on Aug 9 2006
0 comments
293 views