Author: ruwan Date: Sun Jun 14 08:57:43 2009 New Revision: 38876 URL: http://wso2.org/svn/browse/wso2?view=rev&revision=38876
Log: Completly fixing the REST support for ESB Modified: branches/synapse/1.3-wso2v1/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java branches/synapse/1.3-wso2v1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/Axis2HttpRequest.java Modified: branches/synapse/1.3-wso2v1/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java URL: http://wso2.org/svn/browse/wso2/branches/synapse/1.3-wso2v1/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java?rev=38876&r1=38875&r2=38876&view=diff ============================================================================== --- branches/synapse/1.3-wso2v1/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java (original) +++ branches/synapse/1.3-wso2v1/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java Sun Jun 14 08:57:43 2009 @@ -141,7 +141,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); @@ -217,6 +217,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 && @@ -385,6 +394,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: branches/synapse/1.3-wso2v1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/Axis2HttpRequest.java URL: http://wso2.org/svn/browse/wso2/branches/synapse/1.3-wso2v1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/Axis2HttpRequest.java?rev=38876&r1=38875&r2=38876&view=diff ============================================================================== --- branches/synapse/1.3-wso2v1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/Axis2HttpRequest.java (original) +++ branches/synapse/1.3-wso2v1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/Axis2HttpRequest.java Sun Jun 14 08:57:43 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; @@ -179,8 +181,21 @@ HTTP.CONTENT_TYPE, messageFormatter.getContentType(msgContext, format, msgContext.getSoapAction())); - } else { + } 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( httpMethod, msgContext.isPropertyTrue(NhttpConstants.POST_TO_PATH) ? _______________________________________________ Esb-java-dev mailing list [email protected] https://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev
