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 2008/03/28 17:15:04 UTC

svn commit: r642274 - in /webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws: framework/JAXWSDeployer.java server/JAXWSMessageReceiver.java

Author: dims
Date: Fri Mar 28 09:15:00 2008
New Revision: 642274

URL: http://svn.apache.org/viewvc?rev=642274&view=rev
Log:
get AddressBookService.jar from jaxws-integration working under simple axis2 server (drop into servicejars directory). may need to look deeper JAXBUtils seems to use TCCL all the time

Modified:
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/framework/JAXWSDeployer.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/JAXWSMessageReceiver.java

Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/framework/JAXWSDeployer.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/framework/JAXWSDeployer.java?rev=642274&r1=642273&r2=642274&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/framework/JAXWSDeployer.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/framework/JAXWSDeployer.java Fri Mar 28 09:15:00 2008
@@ -286,6 +286,7 @@
             axisService.setElementFormDefault(false);
             axisService.setFileName(serviceLocation);
             axisService.setClassLoader(classLoader);
+            axisService.addParameter(new Parameter(Constants.SERVICE_TCCL, Constants.TCCL_COMPOSITE));
         }
         return axisService;
     }

Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/JAXWSMessageReceiver.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/JAXWSMessageReceiver.java?rev=642274&r1=642273&r2=642274&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/JAXWSMessageReceiver.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/JAXWSMessageReceiver.java Fri Mar 28 09:15:00 2008
@@ -20,6 +20,7 @@
 package org.apache.axis2.jaxws.server;
 
 import org.apache.axis2.AxisFault;
+import org.apache.axis2.receivers.AbstractMessageReceiver;
 import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.axis2.context.OperationContext;
 import org.apache.axis2.description.AxisOperation;
@@ -55,18 +56,34 @@
  * The JAXWSMessageReceiver is the entry point, from the server's perspective, to the JAX-WS code.
  * This will be called by the Axis Engine and is the end of the chain from an Axis2 perspective.
  */
-public class JAXWSMessageReceiver implements MessageReceiver {
+public class JAXWSMessageReceiver extends AbstractMessageReceiver implements MessageReceiver {
 
     private static final Log log = LogFactory.getLog(JAXWSMessageReceiver.class);
 
     private static String PARAM_SERVICE_CLASS = "ServiceClass";
     public static String PARAM_BINDING = "Binding";
 
+    protected void invokeBusinessLogic(org.apache.axis2.context.MessageContext messageCtx) throws AxisFault {
+        // DUMMY.
+    }
+
+    public void receive(org.apache.axis2.context.MessageContext messageCtx)
+            throws AxisFault {
+        ThreadContextDescriptor tc = setThreadContext(messageCtx);
+        try {
+            receiveInternal(messageCtx);    
+        } finally {
+            restoreThreadContext(tc);
+        }
+    }
+    
     /**
      * We should have already determined which AxisService we're targetting at this point.  So now,
      * just get the service implementation and invoke the appropriate method.
+     * @param axisRequestMsgCtx
+     * @throws org.apache.axis2.AxisFault
      */
-    public void receive(org.apache.axis2.context.MessageContext axisRequestMsgCtx)
+    public void receiveInternal(org.apache.axis2.context.MessageContext axisRequestMsgCtx)
             throws AxisFault {
         AxisFault faultToReturn = null;
 
@@ -96,6 +113,9 @@
                 ServiceDescription serviceDesc =
                         DescriptionFactory.createServiceDescriptionFromServiceImpl(
                                 clazz, service);
+                if (service.getParameter(org.apache.axis2.Constants.SERVICE_TCCL) != null) {
+                    service.addParameter(new Parameter(org.apache.axis2.Constants.SERVICE_TCCL, org.apache.axis2.Constants.TCCL_COMPOSITE));
+                }
             } catch (ClassNotFoundException e) {
                 throw new RuntimeException(
                         Messages.getMessage("JAXWSMessageReceiverNoServiceClass"));



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