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,