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