You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2006/05/02 21:55:29 UTC

svn commit: r399025 - in /incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/handler: Axis2OperationInvoker.java Axis2ServiceInvoker.java

Author: antelder
Date: Tue May  2 12:55:27 2006
New Revision: 399025

URL: http://svn.apache.org/viewcvs?rev=399025&view=rev
Log:
Fix for TUSCANY-253

Modified:
    incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/handler/Axis2OperationInvoker.java
    incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/handler/Axis2ServiceInvoker.java

Modified: incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/handler/Axis2OperationInvoker.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/handler/Axis2OperationInvoker.java?rev=399025&r1=399024&r2=399025&view=diff
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/handler/Axis2OperationInvoker.java (original)
+++ incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/handler/Axis2OperationInvoker.java Tue May  2 12:55:27 2006
@@ -68,7 +68,15 @@
 
         operationClient.addMessageContext(requestMC);
 
-        operationClient.execute(true);
+        ClassLoader ccl = Thread.currentThread().getContextClassLoader();
+        try {
+            Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
+
+            operationClient.execute(true);
+
+        } finally {
+            Thread.currentThread().setContextClassLoader(ccl);
+        }
 
         MessageContext responseMC = operationClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
         OMElement responseOM = responseMC.getEnvelope().getBody().getFirstElement();

Modified: incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/handler/Axis2ServiceInvoker.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/handler/Axis2ServiceInvoker.java?rev=399025&r1=399024&r2=399025&view=diff
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/handler/Axis2ServiceInvoker.java (original)
+++ incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/handler/Axis2ServiceInvoker.java Tue May  2 12:55:27 2006
@@ -42,23 +42,17 @@
      * @see org.apache.tuscany.binding.axis2.handler.ExternalServiceInvoker#invoke(java.lang.String, java.lang.Object[])
      */
     public Object invoke(String methodName, Object[] args) {
-        ClassLoader ccl = Thread.currentThread().getContextClassLoader();
         try {
-            Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
-            try {
 
-                Axis2OperationInvoker invoker = operationInvokers.get(methodName);
+            Axis2OperationInvoker invoker = operationInvokers.get(methodName);
 
-                // Axis2 operationClients can not be shared so create a new one for each request
-                OperationClient operationClient = serviceClient.createClient(invoker.getWSDLOperationName());
+            // Axis2 operationClients can not be shared so create a new one for each request
+            OperationClient operationClient = serviceClient.createClient(invoker.getWSDLOperationName());
 
-                return invoker.invokeOperation(operationClient, args);
+            return invoker.invokeOperation(operationClient, args);
 
-            } catch (AxisFault e) {
-                throw new ServiceRuntimeException(e);
-            }
-        } finally {
-            Thread.currentThread().setContextClassLoader(ccl);
+        } catch (AxisFault e) {
+            throw new ServiceRuntimeException(e);
         }
     }