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);
+        }
+    }
 }


Reply via email to