Author: shameera Date: Sun May 5 16:37:30 2013 New Revision: 1479351 URL: http://svn.apache.org/r1479351 Log: Throw a descriptive Axis fault message when SOAP body is null in the request, Fixed AXIS2-4221
Modified: axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCInOnlyMessageReceiver.java axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCInOutAsyncMessageReceiver.java axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCMessageReceiver.java Modified: axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCInOnlyMessageReceiver.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCInOnlyMessageReceiver.java?rev=1479351&r1=1479350&r2=1479351&view=diff ============================================================================== --- axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCInOnlyMessageReceiver.java (original) +++ axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCInOnlyMessageReceiver.java Sun May 5 16:37:30 2013 @@ -20,6 +20,7 @@ package org.apache.axis2.rpc.receivers; import org.apache.axiom.om.OMElement; +import org.apache.axiom.soap.SOAPBody; import org.apache.axis2.AxisFault; import org.apache.axis2.context.MessageContext; import org.apache.axis2.description.AxisMessage; @@ -46,8 +47,11 @@ public class RPCInOnlyMessageReceiver ex AxisOperation op = inMessage.getOperationContext().getAxisOperation(); - OMElement methodElement = inMessage.getEnvelope().getBody() - .getFirstElement(); + SOAPBody body = inMessage.getEnvelope().getBody(); + if(body==null){ + throw new AxisFault("SOAP body is missing in the request" ); + } + OMElement methodElement = body.getFirstElement(); AxisMessage inAxisMessage = op.getMessage(WSDLConstants.MESSAGE_LABEL_IN_VALUE); String messageNameSpace = null; Modified: axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCInOutAsyncMessageReceiver.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCInOutAsyncMessageReceiver.java?rev=1479351&r1=1479350&r2=1479351&view=diff ============================================================================== --- axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCInOutAsyncMessageReceiver.java (original) +++ axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCInOutAsyncMessageReceiver.java Sun May 5 16:37:30 2013 @@ -21,6 +21,7 @@ package org.apache.axis2.rpc.receivers; import org.apache.axiom.om.OMElement; import org.apache.axiom.om.OMNamespace; +import org.apache.axiom.soap.SOAPBody; import org.apache.axiom.soap.SOAPEnvelope; import org.apache.axiom.soap.SOAPFactory; import org.apache.axis2.AxisFault; @@ -71,8 +72,11 @@ public class RPCInOutAsyncMessageReceive AxisOperation op = inMessage.getOperationContext().getAxisOperation(); AxisService service = inMessage.getAxisService(); - OMElement methodElement = inMessage.getEnvelope().getBody() - .getFirstElement(); + SOAPBody body = inMessage.getEnvelope().getBody(); + if(body==null){ + throw new AxisFault("SOAP body is missing in the request" ); + } + OMElement methodElement = body.getFirstElement(); AxisMessage inaxisMessage = op.getMessage(WSDLConstants.MESSAGE_LABEL_IN_VALUE); String messageNameSpace = null; Modified: axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCMessageReceiver.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCMessageReceiver.java?rev=1479351&r1=1479350&r2=1479351&view=diff ============================================================================== --- axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCMessageReceiver.java (original) +++ axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCMessageReceiver.java Sun May 5 16:37:30 2013 @@ -27,6 +27,7 @@ import org.apache.axiom.om.OMElement; import org.apache.axiom.om.OMNamespace; import org.apache.axiom.om.OMAbstractFactory; import org.apache.axiom.om.impl.builder.StAXOMBuilder; +import org.apache.axiom.soap.SOAPBody; import org.apache.axiom.soap.SOAPEnvelope; import org.apache.axiom.soap.SOAPFactory; import org.apache.axis2.AxisFault; @@ -87,8 +88,11 @@ public class RPCMessageReceiver extends method = null; } AxisService service = inMessage.getAxisService(); - OMElement methodElement = inMessage.getEnvelope().getBody() - .getFirstElement(); + SOAPBody body = inMessage.getEnvelope().getBody(); + if(body==null){ + throw new AxisFault("SOAP body is missing in the request" ); + } + OMElement methodElement = body.getFirstElement(); AxisMessage inAxisMessage = op.getMessage(WSDLConstants.MESSAGE_LABEL_IN_VALUE); String messageNameSpace = null;