Hi Brian:

This commit caused a broken build (NPE at AddressingValidationHandler.java:51), so I commented out the test which confirms that the ADDR_VALIDATE_ACTION flag works. I haven't been tracking what's up with this... can you vet that things are working as expected? Is this functionality used by Synapse?

Thanks,
--Glen

[EMAIL PROTECTED] wrote:
Author: pradine
Date: Thu Aug  7 10:30:38 2008
New Revision: 683656

URL: http://svn.apache.org/viewvc?rev=683656&view=rev
Log:
Allow components to disable the invocation pattern validation performed by 
WS-Addressing.

Modified:
    
webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingValidationHandler.java
    
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/addressing/AddressingConstants.java

Modified: 
webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingValidationHandler.java
URL: 
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingValidationHandler.java?rev=683656&r1=683655&r2=683656&view=diff
==============================================================================
--- 
webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingValidationHandler.java
 (original)
+++ 
webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingValidationHandler.java
 Thu Aug  7 10:30:38 2008
@@ -48,24 +48,18 @@
         }
if (JavaUtils.isTrueExplicitly(flag)) {
-            // If no AxisOperation has been found at the end of the dispatch 
phase and addressing
-            // is in use we should throw an ActionNotSupported Fault, unless 
we've been told
-            // not to do this check (by Synapse, for instance)
-            if (JavaUtils.isTrue(msgContext.getProperty(ADDR_VALIDATE_ACTION), 
true)) {
-                // Check if the wsa:MessageID is required or not.
-                checkMessageIDHeader(msgContext);
-            }
+            // Check if the wsa:MessageID is required or not.
+            checkMessageIDHeader(msgContext);
         }
-
-        if (JavaUtils.isFalseExplicitly(flag)) {
+        else {
             // Check that if wsaddressing=required that addressing headers 
were found inbound
             checkUsingAddressing(msgContext);
         }
- // Check that if wsamInvocationPattern flag is in effect that the replyto and faultto are valid
-        // This method must always be called to ensure that the async required 
invocation pattern is
-        // enforced.
-        checkWSAMInvocationPattern(msgContext);
+        // Check that if wsamInvocationPattern flag is in effect that the 
replyto and faultto are valid.
+        if 
(JavaUtils.isTrue(msgContext.getProperty(ADDR_VALIDATE_INVOCATION_PATTERN), 
true)) {
+            checkWSAMInvocationPattern(msgContext);
+        }
return InvocationResponse.CONTINUE;
     }
@@ -106,7 +100,7 @@
         String value =
                 
AddressingHelper.getInvocationPatternParameterValue(msgContext.getAxisOperation());
         if (log.isTraceEnabled()) {
-            log.trace("checkAnonymous: value=" + value);
+            log.trace("checkWSAMInvocationPattern: value=" + value);
         }
         if(!AddressingConstants.WSAM_INVOCATION_PATTERN_BOTH.equals(value)){
                if (WSAM_INVOCATION_PATTERN_SYNCHRONOUS.equals(value)) {

Modified: 
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/addressing/AddressingConstants.java
URL: 
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/addressing/AddressingConstants.java?rev=683656&r1=683655&r2=683656&view=diff
==============================================================================
--- 
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/addressing/AddressingConstants.java
 (original)
+++ 
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/addressing/AddressingConstants.java
 Thu Aug  7 10:30:38 2008
@@ -47,6 +47,7 @@
     static final String IS_ADDR_INFO_ALREADY_PROCESSED = 
"IsAddressingProcessed";
     static final String DISABLE_ADDRESSING_FOR_IN_MESSAGES = 
"disableAddressingForInMessages";
     static final String ADDR_VALIDATE_ACTION = "addressing.validateAction";
+    static final String ADDR_VALIDATE_INVOCATION_PATTERN = 
"addressing.validateInvocationPattern";
// ====================== WSDL Binding Constants ========================
     static final String USING_ADDRESSING = "UsingAddressing";



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to