You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by ru...@apache.org on 2009/06/14 18:13:42 UTC
svn commit: r784581 - in /synapse/trunk/java/modules:
core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java
transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/Axis2HttpRequest.java
Author: ruwan
Date: Sun Jun 14 16:13:42 2009
New Revision: 784581
URL: http://svn.apache.org/viewvc?rev=784581&view=rev
Log:
Completing the REST fixes, now all related to HTTP GET works just fine
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/Axis2HttpRequest.java
Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java?rev=784581&r1=784580&r2=784581&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java Sun Jun 14 16:13:42 2009
@@ -137,7 +137,7 @@
axisOutMsgCtx.setProperty(Constants.Configuration.HTTP_METHOD,
Constants.Configuration.HTTP_METHOD_GET);
axisOutMsgCtx.setProperty(org.apache.axis2.Constants.Configuration.MESSAGE_TYPE,
- org.apache.axis2.transport.http.HTTPConstants.MEDIA_TYPE_APPLICATION_XML);
+ org.apache.axis2.transport.http.HTTPConstants.MEDIA_TYPE_X_WWW_FORM);
} else if (SynapseConstants.FORMAT_SOAP11.equals(endpoint.getFormat())) {
axisOutMsgCtx.setDoingREST(false);
@@ -213,6 +213,15 @@
processHttpGetMethod(originalInMsgCtx, axisOutMsgCtx);
}
+ if (axisOutMsgCtx.isDoingREST()) {
+ if (axisOutMsgCtx.getProperty(WSDL2Constants.ATTR_WHTTP_LOCATION) == null
+ && axisOutMsgCtx.getEnvelope().getBody().getFirstElement() != null) {
+ axisOutMsgCtx.setProperty(WSDL2Constants.ATTR_WHTTP_LOCATION,
+ axisOutMsgCtx.getEnvelope().getBody().getFirstElement()
+ .getQName().getLocalPart());
+ }
+ }
+
if (wsAddressingEnabled) {
if (wsAddressingVersion != null &&
@@ -370,6 +379,12 @@
axisOutMsgCtx.setProperty(
org.apache.axis2.Constants.Configuration.MESSAGE_TYPE,
HTTPConstants.MEDIA_TYPE_X_WWW_FORM);
+ if (axisOutMsgCtx.getProperty(WSDL2Constants.ATTR_WHTTP_LOCATION) == null
+ && axisOutMsgCtx.getEnvelope().getBody().getFirstElement() != null) {
+ axisOutMsgCtx.setProperty(WSDL2Constants.ATTR_WHTTP_LOCATION,
+ axisOutMsgCtx.getEnvelope().getBody().getFirstElement()
+ .getQName().getLocalPart());
+ }
}
}
}
Modified: synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/Axis2HttpRequest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/Axis2HttpRequest.java?rev=784581&r1=784580&r2=784581&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/Axis2HttpRequest.java (original)
+++ synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/Axis2HttpRequest.java Sun Jun 14 16:13:42 2009
@@ -21,6 +21,8 @@
import org.apache.axiom.om.OMOutputFormat;
import org.apache.axis2.AxisFault;
import org.apache.axis2.Constants;
+import org.apache.axis2.description.WSDL2Constants;
+import org.apache.axis2.description.WSDL20DefaultValueHolder;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.transport.MessageFormatter;
@@ -180,6 +182,19 @@
HTTP.CONTENT_TYPE,
messageFormatter.getContentType(msgContext, format, msgContext.getSoapAction()));
+ } else if ("GET".equals(httpMethod)) {
+
+ URL reqURI = messageFormatter.getTargetAddress(
+ msgContext, format, new URL(epr.getAddress()));
+ String path = reqURI.getPath() + "?" + reqURI.getQuery();
+
+ httpRequest = new BasicHttpRequest(httpMethod, path,
+ msgContext.isPropertyTrue(NhttpConstants.FORCE_HTTP_1_0) ?
+ HttpVersion.HTTP_1_0 : HttpVersion.HTTP_1_1);
+
+ httpRequest.setHeader(HTTP.CONTENT_TYPE, messageFormatter.getContentType(
+ msgContext, format, msgContext.getSoapAction()));
+
} else {
httpRequest = new BasicHttpRequest(