You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by di...@apache.org on 2006/09/29 04:09:14 UTC

svn commit: r451086 - /webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/receivers/AbstractMessageReceiver.java

Author: dims
Date: Thu Sep 28 19:09:13 2006
New Revision: 451086

URL: http://svn.apache.org/viewvc?view=rev&rev=451086
Log:
Fix for AXIS2-969 - Missing xsi:type in SOAP-Message (Found the culprit, was not initializing the serviceTCCL properly)

Modified:
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/receivers/AbstractMessageReceiver.java

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/receivers/AbstractMessageReceiver.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/receivers/AbstractMessageReceiver.java?view=diff&rev=451086&r1=451085&r2=451086
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/receivers/AbstractMessageReceiver.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/receivers/AbstractMessageReceiver.java Thu Sep 28 19:09:13 2006
@@ -41,10 +41,22 @@
     public static final String SCOPE = "scope";
     protected String serviceTCCL = null;
     public static final String SAVED_TCCL = "_SAVED_TCCL_";
+    protected boolean init = false;
 
     protected void saveTCCL(MessageContext msgContext) {
-        if (serviceTCCL != null && msgContext.getAxisService() != null &&
-                msgContext.getAxisService().getClassLoader() != null) {
+        AxisService service =
+                msgContext.getOperationContext().getServiceContext().getAxisService();
+        if(!init) {
+            init = true;
+            if(service.getParameter(Constants.SERVICE_TCCL) != null) {
+                Parameter serviceObjectParam =
+                        service.getParameter(Constants.SERVICE_TCCL);
+                serviceTCCL = ((String)
+                        serviceObjectParam.getValue()).trim().toLowerCase();
+            }
+        }
+        if (serviceTCCL != null && service != null &&
+                service.getClassLoader() != null) {
             ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
             if (serviceTCCL.equals(Constants.TCCL_COMPOSITE)) {
                 msgContext.setProperty(SAVED_TCCL, contextClassLoader);
@@ -87,12 +99,6 @@
                     msgContext.getOperationContext().getServiceContext().getAxisService();
             ClassLoader classLoader = service.getClassLoader();
 
-            if(service.getParameter(Constants.SERVICE_TCCL) != null) {
-                Parameter serviceObjectParam =
-                        service.getParameter(Constants.SERVICE_TCCL);
-                serviceTCCL = ((String)
-                        serviceObjectParam.getValue()).trim().toLowerCase();
-            }
             // allow alternative definition of makeNewServiceObject
             if (service.getParameter(Constants.SERVICE_OBJECT_SUPPLIER) != null) {
                 Parameter serviceObjectParam =



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org