You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ga...@apache.org on 2008/05/21 16:33:46 UTC

svn commit: r658707 - in /geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2: Axis2WebServiceContainer.java pojo/POJOWebServiceContainer.java

Author: gawor
Date: Wed May 21 07:33:46 2008
New Revision: 658707

URL: http://svn.apache.org/viewvc?rev=658707&view=rev
Log:
REST support updates and clean up some code

Modified:
    geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/Axis2WebServiceContainer.java
    geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/pojo/POJOWebServiceContainer.java

Modified: geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/Axis2WebServiceContainer.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/Axis2WebServiceContainer.java?rev=658707&r1=658706&r2=658707&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/Axis2WebServiceContainer.java (original)
+++ geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/Axis2WebServiceContainer.java Wed May 21 07:33:46 2008
@@ -32,7 +32,6 @@
 import javax.xml.ws.handler.Handler;
 
 import org.apache.axiom.om.util.UUIDGenerator;
-import org.apache.axis2.AxisFault;
 import org.apache.axis2.Constants;
 import org.apache.axis2.addressing.AddressingHelper;
 import org.apache.axis2.addressing.EndpointReference;
@@ -63,8 +62,6 @@
 import org.apache.axis2.transport.http.TransportHeaders;
 import org.apache.axis2.transport.http.util.RESTUtil;
 import org.apache.axis2.util.MessageContextBuilder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.apache.geronimo.axis2.client.Axis2ConfigGBean;
 import org.apache.geronimo.jaxws.JAXWSAnnotationProcessor;
 import org.apache.geronimo.jaxws.JAXWSUtils;
@@ -74,6 +71,8 @@
 import org.apache.geronimo.jaxws.annotations.AnnotationException;
 import org.apache.geronimo.webservices.WebServiceContainer;
 import org.apache.geronimo.webservices.saaj.SAAJUniverse;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * @version $Rev$ $Date$
@@ -364,6 +363,8 @@
         if (this.binding != null) {
             msgContext.setProperty(JAXWSMessageReceiver.PARAM_BINDING, this.binding);  
         }
+        
+        msgContext.setTo(new EndpointReference(request.getURI().toString()));
     }
     
     protected void processXMLRequest(Request request, 
@@ -381,30 +382,32 @@
 
         setMsgContextProperties(request, response, service, msgContext);
 
-        HTTPTransportUtils.processHTTPPostRequest(msgContext,
-                                                  request.getInputStream(), 
-                                                  response.getOutputStream(), 
-                                                  contentType, 
-                                                  soapAction, 
-                                                  request.getURI().getPath());
+        if (!HTTPTransportUtils.isRESTRequest(contentType)) {
+            HTTPTransportUtils.processHTTPPostRequest(msgContext,
+                                                      request.getInputStream(), 
+                                                      response.getOutputStream(), 
+                                                      contentType, 
+                                                      soapAction, 
+                                                      request.getURI().getPath());
+        } else {
+            RESTUtil.processXMLRequest(msgContext, 
+                                       request.getInputStream(),
+                                       response.getOutputStream(), 
+                                       contentType);
+        }
     }
     
     protected void processURLRequest(Request request,
                                      Response response,
                                      AxisService service,
                                      MessageContext msgContext) throws Exception {
+        String contentType = request.getHeader(HTTPConstants.HEADER_CONTENT_TYPE);
+        
         ConfigurationContext configurationContext = msgContext.getConfigurationContext();
         configurationContext.fillServiceContextAndServiceGroupContext(msgContext);
         
         setMsgContextProperties(request, response, service, msgContext);
-        
-        String contentType = request.getHeader(HTTPConstants.HEADER_CONTENT_TYPE);
-        
-        msgContext.setTo(new EndpointReference(request.getURI().toString()));
-        
-        msgContext.setProperty(MessageContext.TRANSPORT_OUT, response.getOutputStream());
-        msgContext.setProperty(Constants.OUT_TRANSPORT_INFO, new Axis2TransportInfo(response));
-
+                
         InvocationResponse processed = RESTUtil.processURLRequest(msgContext, 
                                                                   response.getOutputStream(),
                                                                   contentType);

Modified: geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/pojo/POJOWebServiceContainer.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/pojo/POJOWebServiceContainer.java?rev=658707&r1=658706&r2=658707&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/pojo/POJOWebServiceContainer.java (original)
+++ geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/pojo/POJOWebServiceContainer.java Wed May 21 07:33:46 2008
@@ -24,8 +24,6 @@
 import javax.naming.Context;
 import javax.xml.ws.WebServiceException;
 
-import org.apache.axis2.Constants;
-import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.context.ServiceContext;
@@ -125,14 +123,21 @@
 
         ServiceContext serviceContext = msgContext.getServiceContext();
         serviceContext.setProperty(ServiceContext.SERVICE_OBJECT, this.endpointInstance);
-
+                
         try {
-            HTTPTransportUtils.processHTTPPostRequest(msgContext,
-                                                      request.getInputStream(),
-                                                      response.getOutputStream(),
-                                                      contentType,
-                                                      soapAction,
-                                                      request.getURI().getPath());
+            if (!HTTPTransportUtils.isRESTRequest(contentType)) {
+                HTTPTransportUtils.processHTTPPostRequest(msgContext,
+                                                          request.getInputStream(),
+                                                          response.getOutputStream(),
+                                                          contentType,
+                                                          soapAction,
+                                                          request.getURI().getPath());
+            } else {
+                RESTUtil.processXMLRequest(msgContext, 
+                                           request.getInputStream(),
+                                           response.getOutputStream(), 
+                                           contentType);
+            }
         } finally {                        
             // de-associate JAX-WS MessageContext with the thread
             // (association happens in POJOEndpointLifecycleManager.createService() call)
@@ -145,6 +150,8 @@
                                      Response response,
                                      AxisService service,
                                      MessageContext msgContext) throws Exception {
+        String contentType = request.getHeader(HTTPConstants.HEADER_CONTENT_TYPE);
+        
         ConfigurationContext configurationContext = msgContext.getConfigurationContext();
         configurationContext.fillServiceContextAndServiceGroupContext(msgContext);
         
@@ -152,14 +159,7 @@
         
         ServiceContext serviceContext = msgContext.getServiceContext();
         serviceContext.setProperty(ServiceContext.SERVICE_OBJECT, this.endpointInstance);
-        
-        String contentType = request.getHeader(HTTPConstants.HEADER_CONTENT_TYPE);
-        
-        msgContext.setTo(new EndpointReference(request.getURI().toString()));
-        
-        msgContext.setProperty(MessageContext.TRANSPORT_OUT, response.getOutputStream());
-        msgContext.setProperty(Constants.OUT_TRANSPORT_INFO, new Axis2TransportInfo(response));
-
+                
         InvocationResponse processed = null;
         try {
             processed = RESTUtil.processURLRequest(msgContext,