You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by da...@apache.org on 2006/11/23 16:31:31 UTC

svn commit: r478599 - in /webservices/axis2/trunk/java/modules/addressing: src/org/apache/axis2/handlers/addressing/AddressingInHandler.java test/org/apache/axis2/handlers/addressing/AddressingFinalInHandlerTest.java

Author: davidillsley
Date: Thu Nov 23 07:31:30 2006
New Revision: 478599

URL: http://svn.apache.org/viewvc?view=rev&rev=478599
Log:
Add check to AddressingInHandler so that the SOAPAction header is only checked when messageContext.isServerSide() is true.

Modified:
    webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java
    webservices/axis2/trunk/java/modules/addressing/test/org/apache/axis2/handlers/addressing/AddressingFinalInHandlerTest.java

Modified: webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java?view=diff&rev=478599&r1=478598&r2=478599
==============================================================================
--- webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java (original)
+++ webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java Thu Nov 23 07:31:30 2006
@@ -305,8 +305,13 @@
         if(log.isTraceEnabled()){
             log.trace("extractActionInformation: soapAction='"+soapAction+"' wsa:Action='"+wsaAction+"'");
         }
-        
-        if (soapAction != null && !"".equals(soapAction)) {
+        // The isServerSide check is because the underlying Options object is
+        // shared between request and response MessageContexts for Sync
+        // invocations. If the soapAction is set outbound and a wsa:Action is
+        // received on the response they will differ (because there is no
+        // SOAPAction header on an HTTP response). In this case we should not
+        // check that soapAction==wsa:Action
+        if (soapAction != null && !"".equals(soapAction) && messageContext.isServerSide()) {
             if (!soapAction.equals(wsaAction)) {
                 AddressingFaultsHelper.triggerActionMismatchFault(messageContext);
             }

Modified: webservices/axis2/trunk/java/modules/addressing/test/org/apache/axis2/handlers/addressing/AddressingFinalInHandlerTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/addressing/test/org/apache/axis2/handlers/addressing/AddressingFinalInHandlerTest.java?view=diff&rev=478599&r1=478598&r2=478599
==============================================================================
--- webservices/axis2/trunk/java/modules/addressing/test/org/apache/axis2/handlers/addressing/AddressingFinalInHandlerTest.java (original)
+++ webservices/axis2/trunk/java/modules/addressing/test/org/apache/axis2/handlers/addressing/AddressingFinalInHandlerTest.java Thu Nov 23 07:31:30 2006
@@ -187,7 +187,7 @@
     public void testDifferentSoapActionProcessing() {
         String testfile = "valid-messages/"+versionDirectory+"/soapmessage.xml";
         MessageContext mc = new MessageContext();
-        
+        mc.setServerSide(true); 
         try {
             mc.setSoapAction("http://ws.apache.org/tests/differentAction");
             basicExtractAddressingInformationFromHeaders(testfile, mc);
@@ -206,7 +206,7 @@
     public void testSameSoapAction() {
         String testfile = "valid-messages/"+versionDirectory+"/soapmessage.xml";
         MessageContext mc = new MessageContext();
-        
+        mc.setServerSide(true);
         try {
             mc.setSoapAction("http://ws.apache.org/tests/action");
             basicExtractAddressingInformationFromHeaders(testfile, mc);



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org