Author: indika
Date: Thu May 28 10:22:13 2009
New Revision: 779538
URL: http://svn.apache.org/viewvc?rev=779538&view=rev
Log:
Fix for a rest call issue, when do a rest call implicitly i.e without an
endpoint or with an endpoint but without a ‘format’
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.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=779538&r1=779537&r2=779538&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
Thu May 28 10:22:13 2009
@@ -23,6 +23,7 @@
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axis2.AxisFault;
import org.apache.axis2.Constants;
+import org.apache.axis2.transport.http.HTTPConstants;
import org.apache.axis2.addressing.AddressingConstants;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.OperationClient;
@@ -166,6 +167,8 @@
} else if
(SynapseConstants.FORMAT_REST.equals(endpoint.getFormat())) {
axisOutMsgCtx.setDoingREST(true);
+ } else {
+ processHttpGetMethod(originalInMsgCtx, axisOutMsgCtx);
}
if (endpoint.isUseMTOM()) {
@@ -206,6 +209,8 @@
if (endpoint.isUseSeparateListener()) {
axisOutMsgCtx.getOptions().setUseSeparateListener(true);
}
+ } else {
+ processHttpGetMethod(originalInMsgCtx, axisOutMsgCtx);
}
if (wsAddressingEnabled) {
@@ -355,4 +360,16 @@
current = current.getParent();
}
}
+
+ private static void processHttpGetMethod(MessageContext originalInMsgCtx,
+ MessageContext axisOutMsgCtx) {
+
+ String httpMethod = (String) originalInMsgCtx.getProperty(
+ Constants.Configuration.HTTP_METHOD);
+ if (Constants.Configuration.HTTP_METHOD_GET.equals(httpMethod)) {
+ axisOutMsgCtx.setProperty(
+ org.apache.axis2.Constants.Configuration.MESSAGE_TYPE,
+ HTTPConstants.MEDIA_TYPE_X_WWW_FORM);
+ }
+ }
}