Fix by Auke Schrijnen for SYNAPSE-1062

git-svn-id: https://svn.apache.org/repos/asf/synapse/trunk@1776222 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java b/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java
index e3e8aa2..7c37bb6 100644
--- a/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java
+++ b/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java
@@ -235,12 +235,14 @@
 
                     if (resenvelope != null) {
                         responseMessageContext.setEnvelope(resenvelope);
-                        AxisEngine.receive(responseMessageContext);
-                        if (responseMessageContext.getReplyTo() != null) {
-                            sc.setTargetEPR(responseMessageContext.getReplyTo());
+                        try {
+                            AxisEngine.receive(responseMessageContext);
+                            if (responseMessageContext.getReplyTo() != null) {
+                                sc.setTargetEPR(responseMessageContext.getReplyTo());
+                            }
+                        } finally {
+                            complete(msgctx);
                         }
-
-                        complete(msgctx);
                     } else {
                         throw new AxisFault(
                                 Messages.getMessage("blockingInvocationExpectsResponse"));