Author: supun
Date: Fri May  6 05:35:28 2011
New Revision: 1100065

URL: http://svn.apache.org/viewvc?rev=1100065&view=rev
Log:
fixing an issue with cleaning up the transports

Modified:
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/CalloutMediator.java

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java?rev=1100065&r1=1100064&r2=1100065&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java
 Fri May  6 05:35:28 2011
@@ -235,6 +235,8 @@ public class DynamicAxisOperation extend
                         if (responseMessageContext.getReplyTo() != null) {
                             
sc.setTargetEPR(responseMessageContext.getReplyTo());
                         }
+
+                        complete(msgctx);
                     } else {
                         throw new AxisFault(
                                 
Messages.getMessage("blockingInvocationExpectsResponse"));

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/CalloutMediator.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/CalloutMediator.java?rev=1100065&r1=1100064&r2=1100065&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/CalloutMediator.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/CalloutMediator.java
 Fri May  6 05:35:28 2011
@@ -50,7 +50,7 @@ import java.util.List;
  */
 public class CalloutMediator extends AbstractMediator implements 
ManagedLifecycle {
 
-    private ServiceClient sc = null;
+    private ConfigurationContext configCtx = null;
     private String serviceURL = null;
     private String action = null;
     private String requestKey = null;
@@ -75,6 +75,7 @@ public class CalloutMediator extends Abs
         }
 
         try {
+            ServiceClient sc = new ServiceClient(configCtx, null);
             Options options = new Options();
             options.setTo(new EndpointReference(serviceURL));
 
@@ -107,6 +108,7 @@ public class CalloutMediator extends Abs
 
             OMElement result = null;
             try {
+                options.setCallTransportCleanup(true);
                 result = sc.sendReceive(request);
             } catch (AxisFault axisFault) {
                 handleFault(synCtx, axisFault);
@@ -218,11 +220,9 @@ public class CalloutMediator extends Abs
 
     public void init(SynapseEnvironment synEnv) {
         try {
-            ConfigurationContext cfgCtx
-                    = 
ConfigurationContextFactory.createConfigurationContextFromFileSystem(
+            configCtx = 
ConfigurationContextFactory.createConfigurationContextFromFileSystem(
                     clientRepository != null ? clientRepository : 
DEFAULT_CLIENT_REPO,
-                    axis2xml != null ? axis2xml : DEFAULT_AXIS2_XML);
-            sc = new ServiceClient(cfgCtx, null);
+            axis2xml != null ? axis2xml : DEFAULT_AXIS2_XML);
         } catch (AxisFault e) {
             String msg = "Error initializing callout mediator : " + 
e.getMessage();
             log.error(msg, e);
@@ -232,11 +232,8 @@ public class CalloutMediator extends Abs
 
     public void destroy() {
         try {
-            sc.cleanup();
-        } catch (AxisFault af) {
-            log.warn("Error while cleaning up the service client instance used 
by the " +
-                    "Callout mediator", af);
-        }
+            configCtx.terminate();
+        } catch (AxisFault ignore) {}
     }
 
     public String getServiceURL() {


Reply via email to