Hello !
We are using message-style argument passing with Axis both on the client and the provider. The signature of all the methods is
Element[] method(Element[]), but in one instance we don't need to read any arguments. When we invoke this method with call.invoke((SOAPBodyElement[]) null), Axis refuses to service the call. Apparently, empty bodies are not supported. The stacktrace reads like this :
Exception in thread "main" AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace: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:149)
at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1025)
at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:159)
at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1138)
at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:308)
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:342)
at org.apache.axis.client.Call.invoke(Call.java:2420)
at org.apache.axis.client.Call.invoke(Call.java:2319)
at org.apache.axis.client.Call.invoke(Call.java:1776)
at UserEntityManagerWSClient.listAvailableTypes(UserEntityManagerWSClient.java:49)
at WSClient.main(WSClient.java:31)
Is this a bug or a feature ?
Fabrice