diff options
author | nash <nash@13f79535-47bb-0310-9956-ffa450edef68> | 2011-03-31 19:54:01 +0000 |
---|---|---|
committer | nash <nash@13f79535-47bb-0310-9956-ffa450edef68> | 2011-03-31 19:54:01 +0000 |
commit | 4f92fc55362bff75beb3854d2511f3b9d38f0f13 (patch) | |
tree | ab8f5819812f38ca07ff513180fce3bed3051228 /sca-java-1.x | |
parent | 90de79537616a706fa6f9ca2bb87744abd2dee2a (diff) |
TUSCANY-3838: call PolicyHandler.afterInvoke() when AxisFault is thrown
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1087425 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r-- | 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 | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/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 b/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 index 4087bd80a5..023e3da43e 100644 --- a/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 +++ b/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 @@ -164,6 +164,7 @@ public class Axis2BindingInvoker implements Invoker, DataExchangeSemantics { 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 implements Invoker, DataExchangeSemantics { } 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(); |