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 he...@apache.org on 2005/06/30 11:48:29 UTC

svn commit: r202513 - in /webservices/axis/trunk/java/modules: core/src/org/apache/axis/clientapi/ core/src/org/apache/axis/transport/ core/src/org/apache/axis/transport/http/ samples/test/org/apache/axis/engine/

Author: hemapani
Date: Thu Jun 30 02:48:27 2005
New Revision: 202513

URL: http://svn.apache.org/viewcvs?rev=202513&view=rev
Log:
fixed the build, and imporment for mtom

Modified:
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/InOutMEPClient.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/TransportUtils.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPConstants.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPTransportSender.java
    webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/CommonsHTTPEchoRawXMLTest.java
    webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/commons-http-enabled-axis2.xml

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/InOutMEPClient.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/InOutMEPClient.java?rev=202513&r1=202512&r2=202513&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/InOutMEPClient.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/InOutMEPClient.java Thu Jun 30 02:48:27 2005
@@ -239,7 +239,9 @@
             boolean isATwoWaytransport = Constants.TRANSPORT_HTTP.equals(senderTransport)
                             || Constants.TRANSPORT_TCP.equals(senderTransport) 
                             || Constants.TRANSPORT_COMMONS_HTTP.equals(senderTransport);
-            if(!isTransportsEqual || !isATwoWaytransport){
+            boolean isCommonsAndHTTP =  Constants.TRANSPORT_COMMONS_HTTP.equals(senderTransport) 
+                    && Constants.TRANSPORT_HTTP.equals(listenerTransport);                         
+            if(!isCommonsAndHTTP && (!isTransportsEqual || !isATwoWaytransport)){
                 throw new AxisFault("useSeparateListener = false is only supports by the htpp/tcp and tcp commons transport set as the sender and receiver");
             }
         }else{

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/TransportUtils.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/TransportUtils.java?rev=202513&r1=202512&r2=202513&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/TransportUtils.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/TransportUtils.java Thu Jun 30 02:48:27 2005
@@ -22,7 +22,9 @@
 import javax.xml.stream.XMLInputFactory;
 import javax.xml.stream.XMLStreamReader;
 
+import org.apache.axis.Constants;
 import org.apache.axis.context.MessageContext;
+import org.apache.axis.context.OperationContext;
 import org.apache.axis.engine.AxisFault;
 import org.apache.axis.om.impl.llom.builder.StAXBuilder;
 import org.apache.axis.om.impl.llom.builder.StAXOMBuilder;
@@ -30,42 +32,48 @@
 import org.apache.axis.soap.SOAPFactory;
 import org.apache.axis.soap.impl.llom.builder.StAXSOAPModelBuilder;
 import org.apache.axis.soap.impl.llom.soap11.SOAP11Factory;
-
+import org.apache.axis.transport.http.HTTPConstants;
+import org.apache.axis.transport.http.HTTPTransportUtils;
 
 public class TransportUtils {
-    public static SOAPEnvelope createSOAPMessage(MessageContext msgContext)
-        throws AxisFault {
+    public static SOAPEnvelope createSOAPMessage(MessageContext msgContext) throws AxisFault {
 
-        InputStream inStream =
-            (InputStream) msgContext.getProperty(MessageContext.TRANSPORT_IN);
+        InputStream inStream = (InputStream) msgContext.getProperty(MessageContext.TRANSPORT_IN);
         msgContext.setProperty(MessageContext.TRANSPORT_IN, null);
-        if(inStream == null){
+        if (inStream == null) {
             throw new AxisFault("Input stram is Null");
         }
         return createSOAPMessage(msgContext, inStream);
     }
 
-
- 
-    public static SOAPEnvelope createSOAPMessage(
-        MessageContext msgContext,
-        InputStream inStream )
+    public static SOAPEnvelope createSOAPMessage(MessageContext msgContext, InputStream inStream)
         throws AxisFault {
         try {
-            Reader reader = new InputStreamReader(inStream);
-            
-            XMLStreamReader xmlreader =
-                XMLInputFactory.newInstance().createXMLStreamReader(reader);
-                
+            Object contentType = null;
+            OperationContext opContext = msgContext.getOperationContext();
+            if (opContext != null) {
+                contentType = opContext.getProperty(HTTPConstants.MTOM_RECIVED_CONTENT_TYPE);
+            }
+
             StAXBuilder builder = null;
             SOAPEnvelope envelope = null;
-            if (msgContext.isDoingREST()) {
+
+            if (contentType != null) {
+                builder = HTTPTransportUtils.selectBuilderForMIME(msgContext, inStream, (String)contentType);
+                envelope = (SOAPEnvelope) builder.getDocumentElement();
+            }else if (msgContext.isDoingREST()) {
+                Reader reader = new InputStreamReader(inStream);
+                XMLStreamReader xmlreader =
+                    XMLInputFactory.newInstance().createXMLStreamReader(reader);
                 SOAPFactory soapFactory = new SOAP11Factory();
                 builder = new StAXOMBuilder(xmlreader);
                 builder.setOmbuilderFactory(soapFactory);
                 envelope = soapFactory.getDefaultEnvelope();
                 envelope.getBody().addChild(builder.getDocumentElement());
             } else {
+                Reader reader = new InputStreamReader(inStream);
+                XMLStreamReader xmlreader =
+                    XMLInputFactory.newInstance().createXMLStreamReader(reader);
                 builder = new StAXSOAPModelBuilder(xmlreader);
                 envelope = (SOAPEnvelope) builder.getDocumentElement();
             }

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPConstants.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPConstants.java?rev=202513&r1=202512&r2=202513&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPConstants.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPConstants.java Thu Jun 30 02:48:27 2005
@@ -386,7 +386,7 @@
     public static final String HTTP_REQ_TYPE = "HTTP_REQ_TYPE";
     
     public static final String HTTPOutTransportInfo = "HTTPOutTransportInfo";
-    public static final String MTOM_RECIVED = "MTOM_RECEIVED";
+    public static final String MTOM_RECIVED_CONTENT_TYPE = "MTOM_RECEIVED";
 
        /**
         * Default content encoding chatset

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPTransportSender.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPTransportSender.java?rev=202513&r1=202512&r2=202513&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPTransportSender.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPTransportSender.java Thu Jun 30 02:48:27 2005
@@ -26,9 +26,11 @@
 import java.net.URL;
 import java.util.Map;
 
+import org.apache.axis.Constants;
 import org.apache.axis.addressing.EndpointReference;
 import org.apache.axis.context.ConfigurationContext;
 import org.apache.axis.context.MessageContext;
+import org.apache.axis.context.OperationContext;
 import org.apache.axis.description.Parameter;
 import org.apache.axis.description.TransportOutDescription;
 import org.apache.axis.engine.AxisFault;
@@ -180,6 +182,15 @@
                     in = new ChunkedInputStream(transportInfo.in);
                 }
                 msgContext.setProperty(MessageContext.TRANSPORT_IN, in);
+                
+                String contentType = (String)map.get(HTTPConstants.HEADER_CONTENT_TYPE);
+                if (contentType != null && contentType.indexOf(HTTPConstants.HEADER_ACCEPT_MULTIPART_RELATED) >= 0){
+                    OperationContext opContext = msgContext.getOperationContext();
+                    if(opContext != null){
+                        opContext.setProperty(HTTPConstants.MTOM_RECIVED_CONTENT_TYPE,contentType);
+                    }
+                    
+                }
             }
         } catch (AxisFault e) {
             // TODO Auto-generated catch block

Modified: webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/CommonsHTTPEchoRawXMLTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/CommonsHTTPEchoRawXMLTest.java?rev=202513&r1=202512&r2=202513&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/CommonsHTTPEchoRawXMLTest.java (original)
+++ webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/CommonsHTTPEchoRawXMLTest.java Thu Jun 30 02:48:27 2005
@@ -90,7 +90,7 @@
         org.apache.axis.clientapi.Call call = new org.apache.axis.clientapi.Call(Constants.TESTING_PATH+"commons-http-enabledRepository");
 
         call.setTo(targetEPR);
-        call.setTransportInfo(Constants.TRANSPORT_COMMONS_HTTP, Constants.TRANSPORT_COMMONS_HTTP, false);
+        call.setTransportInfo(Constants.TRANSPORT_COMMONS_HTTP, Constants.TRANSPORT_HTTP, false);
 
         Callback callback = new Callback() {
             public void onComplete(AsyncResult result) {
@@ -127,7 +127,7 @@
         org.apache.axis.clientapi.Call call = new org.apache.axis.clientapi.Call(Constants.TESTING_PATH+"commons-http-enabledRepository");
 
         call.setTo(targetEPR);
-        call.setTransportInfo(Constants.TRANSPORT_COMMONS_HTTP, Constants.TRANSPORT_COMMONS_HTTP, false);
+        call.setTransportInfo(Constants.TRANSPORT_COMMONS_HTTP, Constants.TRANSPORT_HTTP, false);
 
         OMElement result =
                 (OMElement) call.invokeBlocking(operationName.getLocalPart(), payload);

Modified: webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/commons-http-enabled-axis2.xml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/commons-http-enabled-axis2.xml?rev=202513&r1=202512&r2=202513&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/commons-http-enabled-axis2.xml (original)
+++ webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/commons-http-enabled-axis2.xml Thu Jun 30 02:48:27 2005
@@ -25,6 +25,8 @@
         <parameter name="port" locked="xsd:false">6060</parameter>
     </transportReceiver>
 
+    
+
   
 
     <transportReceiver name="tcp" class="org.apache.axis.transport.tcp.TCPServer">