Author: nash
Date: Tue Mar 29 21:31:15 2011
New Revision: 1086757
URL: http://svn.apache.org/viewvc?rev=1086757&view=rev
Log:
TUSCANY-3838: call PolicyHandler.afterInvoke() when AxisFault is thrown
Modified:
tuscany/sca-java-1.x/trunk/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java
Modified:
tuscany/sca-java-1.x/trunk/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/trunk/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java?rev=1086757&r1=1086756&r2=1086757&view=diff
==============================================================================
---
tuscany/sca-java-1.x/trunk/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java
(original)
+++
tuscany/sca-java-1.x/trunk/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java
Tue Mar 29 21:31:15 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();