You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by pr...@apache.org on 2008/08/07 19:30:38 UTC

svn commit: r683656 - in /webservices/axis2/trunk/java/modules: addressing/src/org/apache/axis2/handlers/addressing/AddressingValidationHandler.java kernel/src/org/apache/axis2/addressing/AddressingConstants.java

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";



Re: svn commit: r683656 - in /webservices/axis2/trunk/java/modules: addressing/src/org/apache/axis2/handlers/addressing/AddressingValidationHandler.java kernel/src/org/apache/axis2/addressing/AddressingConstants.java

Posted by Glen Daniels <gl...@thoughtcraft.com>.
Thanks, Brian!

--Glen

Brian De Pradine wrote:
> 
> Hi Glen,
> 
> Yes, sorry about that. There is now a new test in the kernel module, 
> AddressingBasedDispatcherTest, to cover that function.
> 
> Cheers
> 
> Brian DePradine
> Web Services Development
> IBM Hursley
> External  +44 (0) 1962 816319         Internal 246319
> 
> If you can't find the time to do it right the first time, where will you 
> find the time to do it again?
> 
> 
> Glen Daniels <gl...@thoughtcraft.com> wrote on 08/08/2008 07:21:10:
> 
>  > 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
>  >
>  > pradine@apache.org 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";
>  > >
>  > >
> 
> 
> 
> ------------------------------------------------------------------------
> 
> /
> /
> 
> /Unless stated otherwise above:
> IBM United Kingdom Limited - Registered in England and Wales with number 
> 741598.
> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU/
> 
> 
> 
> 
> 
> 

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


Re: svn commit: r683656 - in /webservices/axis2/trunk/java/modules: addressing/src/org/apache/axis2/handlers/addressing/AddressingValidationHandler.java kernel/src/org/apache/axis2/addressing/AddressingConstants.java

Posted by Brian De Pradine <PR...@uk.ibm.com>.
Hi Glen,

Yes, sorry about that. There is now a new test in the kernel module, 
AddressingBasedDispatcherTest, to cover that function.

Cheers

Brian DePradine
Web Services Development
IBM Hursley
External  +44 (0) 1962 816319         Internal 246319

If you can't find the time to do it right the first time, where will you 
find the time to do it again?


Glen Daniels <gl...@thoughtcraft.com> wrote on 08/08/2008 07:21:10:

> 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
> 
> pradine@apache.org 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";
> > 
> > 






Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU






Re: svn commit: r683656 - in /webservices/axis2/trunk/java/modules: addressing/src/org/apache/axis2/handlers/addressing/AddressingValidationHandler.java kernel/src/org/apache/axis2/addressing/AddressingConstants.java

Posted by Glen Daniels <gl...@thoughtcraft.com>.
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

pradine@apache.org 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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org