You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by am...@apache.org on 2011/01/06 12:52:18 UTC

svn commit: r1055839 - /axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCUtil.java

Author: amilas
Date: Thu Jan  6 11:52:18 2011
New Revision: 1055839

URL: http://svn.apache.org/viewvc?rev=1055839&view=rev
Log:
add an null check to preserve the backword compatibility with empty soap messages to empty parameters

Modified:
    axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCUtil.java

Modified: axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCUtil.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCUtil.java?rev=1055839&r1=1055838&r2=1055839&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCUtil.java (original)
+++ axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCUtil.java Thu Jan  6 11:52:18 2011
@@ -166,7 +166,14 @@ public class RPCUtil {
                                             OMElement methodElement,
                                             MessageContext inMessage) throws AxisFault,
             IllegalAccessException, InvocationTargetException {
-        if (inAxisMessage.getElementQName() == null) {
+        
+        //POJO was not WS-I complient since it does generate an empty soap message for in comming
+        //soap envelope when no input parameters are set. But now we have fixed this to include the
+        // the operation name wrapper.
+        // this causes problems with the clients generated with the earlier wsdls. in order to
+        // keep the back word compatibility we need to add this check.
+
+        if ((inAxisMessage.getElementQName() == null) || (methodElement == null)) {
             // method accept empty SOAPbody
             return method.invoke(implObject);
         } else {