I have an robustInOnly operation, which returns a SOAP Fault if an error
occurs. My client application (using xmlbeans based client stubs)
gets null pointer exception if the implementation of the operations
returns a SOAPFault.
I noticed that my inOut operations work correctly in the case of
returning SOAP Fault. It must be something to do with the
robustInOnly operations returning SOAP Fault. Does anybody noticed this
problem before ?
Gul
java.lang.NullPointerException
at
org.apache.axis2.context.MessageContext.isHeaderPresent(MessageContext.j
ava:1054)
at
org.apache.axis2.handlers.addressing.AddressingInHandler.invoke(Addressi
ngInHandler.java:72)
at org.apache.axis2.engine.Phase.invoke(Phase.java:381)
at
org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:518)
at
org.apache.axis2.engine.AxisEngine.receiveFault(AxisEngine.java:596)
at
org.apache.axis2.description.RobustOutOnlyAxisOperation$RobustOperationC
lient.send(RobustOutOnlyAxisOperat
ion.java:99)
at
org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisO
peration.java:295)
java.lang.NullPointerException
at
org.apache.axis2.context.MessageContext.isHeaderPresent(MessageContext.j
ava:1054)
at
org.apache.axis2.handlers.addressing.AddressingInHandler.invoke(Addressi
ngInHandler.java:72)
at org.apache.axis2.engine.Phase.invoke(Phase.java:381)
at
org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:518)
at
org.apache.axis2.engine.AxisEngine.receiveFault(AxisEngine.java:596)
at
org.apache.axis2.description.RobustOutOnlyAxisOperation$RobustOperationC
lient.send(RobustOutOnlyAxisOperat
ion.java:99)
at
org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisO
peration.java:295)
at
com.mycompany.myservice.MyServiceStub.doSomething(MyServiceStub.java:542
)
at com.mycompany.Client.main(Client.java:414)
The fault message returned by the service :
===============================
<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header />
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Client</faultcode>
<faultstring>Some error...</faultstring>
<detail>
<tns:AServiceFault
xmlns:tns="http://www.mycompany.com/CommonTypes">
<tns:errorId>8000</tns:errorId>
<tns:errorMsg>Some error...</tns:errorMsg>
</tns:AServiceFault >
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>