You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by na...@apache.org on 2011/03/31 21:54:02 UTC

svn commit: r1087425 - /tuscany/sca-java-1.x/branches/sca-java-1.6.2/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java

Author: nash
Date: Thu Mar 31 19:54:01 2011
New Revision: 1087425

URL: http://svn.apache.org/viewvc?rev=1087425&view=rev
Log:
TUSCANY-3838: call PolicyHandler.afterInvoke() when AxisFault is thrown

Modified:
    tuscany/sca-java-1.x/branches/sca-java-1.6.2/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java

Modified: tuscany/sca-java-1.x/branches/sca-java-1.6.2/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-1.x/branches/sca-java-1.6.2/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java?rev=1087425&r1=1087424&r2=1087425&view=diff
==============================================================================
--- tuscany/sca-java-1.x/branches/sca-java-1.6.2/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java (original)
+++ tuscany/sca-java-1.x/branches/sca-java-1.6.2/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java Thu Mar 31 19:54:01 2011
@@ -164,6 +164,7 @@ public class Axis2BindingInvoker impleme
             Axis2BindingHeaderConfigurator.setHeader(requestMC, msg, axis2TokenAuthenticationPolicy.getTokenName());
         }
         
+        MessageContext responseMC = null;
         // Allow privileged access to read properties. Requires PropertiesPermission read in
         // security policy.
         try {
@@ -176,12 +177,13 @@ public class Axis2BindingInvoker impleme
         } catch (PrivilegedActionException e) {
             operationClient.complete(requestMC);
             throw (AxisFault)e.getException();
-        }
-
-        MessageContext responseMC = operationClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
+        } finally {
+            // TUSCANY-3838: call afterInvoke() on both normal and exception paths
+            responseMC = operationClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
         
-        for ( PolicyHandler policyHandler : policyHandlerList ) {
-            policyHandler.afterInvoke(msg, responseMC, operationClient);
+            for ( PolicyHandler policyHandler : policyHandlerList ) {
+                policyHandler.afterInvoke(msg, responseMC, operationClient);
+            }
         }
         
         OMElement response = responseMC.getEnvelope().getBody().getFirstElement();