You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by sa...@apache.org on 2005/10/07 06:43:18 UTC
svn commit: r307009 - in
/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http:
CommonsHTTPTransportSender.java HTTPTransportUtils.java
Author: saminda
Date: Thu Oct 6 21:43:11 2005
New Revision: 307009
URL: http://svn.apache.org/viewcvs?rev=307009&view=rev
Log:
Change tranport sender and its utilities to handle REST behaviour through properties
Modified:
webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/CommonsHTTPTransportSender.java
webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/HTTPTransportUtils.java
Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/CommonsHTTPTransportSender.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/CommonsHTTPTransportSender.java?rev=307009&r1=307008&r2=307009&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/CommonsHTTPTransportSender.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/CommonsHTTPTransportSender.java Thu Oct 6 21:43:11 2005
@@ -126,6 +126,12 @@
}
OMElement dataOut;
+ /**
+ * Figuringout the REST properties/parameters
+ */
+ msgContext.setDoingREST(HTTPTransportUtils.isDoingREST(msgContext));
+ msgContext.setRestThroughPOST(HTTPTransportUtils.isDoingRESTThoughPost(msgContext));
+
if (msgContext.isDoingREST()) {
dataOut = msgContext.getEnvelope().getBody().getFirstElement();
} else {
Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/HTTPTransportUtils.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/HTTPTransportUtils.java?rev=307009&r1=307008&r2=307009&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/HTTPTransportUtils.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/HTTPTransportUtils.java Thu Oct 6 21:43:11 2005
@@ -147,22 +147,31 @@
> -1) {
soap11 = true;
//it is SOAP 1.1
- Object enable =
- msgContext.getProperty(
- Constants.Configuration.ENABLE_REST);
+
+// msgContext.getProperty(
+// Constants.Configuration.ENABLE_REST);
+ /**
+ * Configuration via Deployment
+ */
+
+ Parameter enable = msgContext.getParameter(Constants.Configuration.ENABLE_REST);
+
if ((soapActionHeader == null
- || soapActionHeader.length() == 0)
- && Constants.VALUE_TRUE.equals(enable)) {
- //If the content Type is text/xml (BTW which is the SOAP 1.1 Content type ) and
- //the SOAP Action is absent it is rest !!
- msgContext.setDoingREST(true);
-
- SOAPFactory soapFactory = new SOAP11Factory();
- builder = new StAXOMBuilder(xmlreader);
- builder.setOmbuilderFactory(soapFactory);
- envelope = soapFactory.getDefaultEnvelope();
- envelope.getBody().addChild(
- builder.getDocumentElement());
+ || soapActionHeader.length() == 0)
+ && enable != null) {
+ if (Constants.VALUE_TRUE
+ .equals(enable.getValue())) {
+ //If the content Type is text/xml (BTW which is the SOAP 1.1 Content type ) and
+ //the SOAP Action is absent it is rest !!
+ msgContext.setDoingREST(true);
+
+ SOAPFactory soapFactory = new SOAP11Factory();
+ builder = new StAXOMBuilder(xmlreader);
+ builder.setOmbuilderFactory(soapFactory);
+ envelope = soapFactory.getDefaultEnvelope();
+ envelope.getBody().addChild(
+ builder.getDocumentElement());
+ }
} else {
builder =
new StAXSOAPModelBuilder(
@@ -448,5 +457,44 @@
boolean doMTOM = enableMTOM && envelopeContainsOptimise;
msgContext.setDoingMTOM(doMTOM);
return doMTOM;
+ }
+
+ public static boolean isDoingREST(MessageContext msgContext) {
+ boolean enableREST = false;
+ if (msgContext.getParameter(Constants.Configuration.ENABLE_REST)
+ != null) {
+ enableREST =
+ Constants.VALUE_TRUE.equals(
+ msgContext.getParameter(
+ Constants.Configuration.ENABLE_REST).getValue());
+ } else if(msgContext.getProperty(Constants.Configuration.ENABLE_REST) != null) {
+ enableREST =
+ Constants.VALUE_TRUE.equals(
+ msgContext.getProperty(
+ Constants.Configuration.ENABLE_REST));
+ }
+ msgContext.setDoingREST(enableREST);
+ return enableREST;
+
+ }
+
+ public static boolean isDoingRESTThoughPost(MessageContext msgContext) {
+ boolean restThroughPost = true;
+
+ if (msgContext.getParameter(Constants.Configuration.ENABLE_REST_THROUGH_GET)
+ != null) {
+ restThroughPost =
+ Constants.VALUE_TRUE.equals(
+ msgContext.getParameter(
+ Constants.Configuration.ENABLE_REST_THROUGH_GET).getValue());
+ } else if(msgContext.getProperty(Constants.Configuration.ENABLE_REST_THROUGH_GET) != null) {
+ restThroughPost =
+ Constants.VALUE_TRUE.equals(
+ msgContext.getProperty(
+ Constants.Configuration.ENABLE_REST_THROUGH_GET));
+ }
+ msgContext.setRestThroughPOST(!restThroughPost);
+ return restThroughPost;
+
}
}