Axis 1.1 - SOAP Response - Sax Exception

We have a front end which uses Axis 1.1 ( wsdl2java) which is consuming the webMethods WSDL exposed via SOAP - RPC.

They are able to hit the webMethods server but while processing the response from webMethods, they are getting this exception.

org.xml.sax.SAXException: Deserializing parameter ‘getCRCInformationResponse’: could not find deserializer for type.

at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:277)

        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.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)

        at com.cts.test.TestClientRPC.main(TestClientRPC.java:93)

AxisFault

faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException

faultSubcode:

Has anybody faced this before?

This is yet another example of the widely known interoperability issues with the SOAP RPC messaging style. It is not unique to webMethods by any means which is one reason SOAP RPC Encoded style is not supported in WS-I Basic Profile.

My hunch is that the web service operation is attempting to return some custom java object that Axis does not understand how to deserialize (convert back into a java object from XML).

In summary, don’t use SOAP RPC Encoded. If you do, you get to have fun figuring out lots of issues just like this one.

Mark

Mark,

But Axis 1.1 doesn’t support SOAP Doc/Literal

Well, you might consider upgrading to a more recent version of Axis. No one is forcing you to upgrade, you can make a conscious decision to stay with a release that does not support interoperable versions of SOAP.

If you stay with Axis 1.1 and SOAP RPC encoded, you might want to find someone for your project who really enjoys digging into SOAP interoperability issues because you’re going to have them in spades.

Mark

According to http://marc.info/?l=axis-dev&m=105577977007676&w=2, 1.1 has “better support” for doc/lit.

It could be a WM server-side issue too since support told us that Integration Server uses Axis1

We have been having our share of issues getting SOAP calls to work, especially with MTOM.

IS versions prior to 7.1 use WM’s own SOAP stack. MTOM support was not introduced until IS 7.1 which I’m quite sure does not use the ancient Axis 1.x SOAP stack.

Mark

We are using IS 7.1, which is listed as supporting MTOM.
We have been troubleshooting lots of interop issues with WM support.

The axis.jar file in common/lib/ext of IS is for Axis 1.4. There is also a glue.jar in common/lib, but the support rep stated that IS was not using the Glue stack. I am just going off what the WM support team is telling us.

If you know anything more please report on that here.

Thanks,
Mike

Having issues with MTOM support in an early release of IS 7.1 is not surprising. It has not existed in the product before now. Thanks for helping debug it for me. I’ll wait until SP1 or until I see enough MTOM-related Fixes.

For good information about what components are used under the covers for SOAP support in IS, I would suggest escalating to product development (PD) or to the product manager of IS. Support will attempt to answer your question, but may not have the correct information.

Mark