You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by th...@apache.org on 2006/10/06 14:32:07 UTC

svn commit: r453578 - in /webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport: TransportUtils.java http/HTTPTransportUtils.java http/util/RESTUtil.java jms/JMSUtils.java

Author: thilina
Date: Fri Oct  6 05:32:06 2006
New Revision: 453578

URL: http://svn.apache.org/viewvc?view=rev&rev=453578
Log:
porting the changes from 1.1 Release Branch

Modified:
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/TransportUtils.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/HTTPTransportUtils.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/util/RESTUtil.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/jms/JMSUtils.java

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/TransportUtils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/TransportUtils.java?view=diff&rev=453578&r1=453577&r2=453578
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/TransportUtils.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/TransportUtils.java Fri Oct  6 05:32:06 2006
@@ -23,11 +23,12 @@
 import org.apache.axiom.om.impl.MTOMConstants;
 import org.apache.axiom.om.impl.builder.StAXBuilder;
 import org.apache.axiom.om.impl.builder.StAXOMBuilder;
-import org.apache.axiom.om.impl.mtom.MTOMStAXSOAPModelBuilder;
+import org.apache.axiom.om.impl.builder.XOPAwareStAXOMBuilder;
 import org.apache.axiom.soap.SOAP11Constants;
 import org.apache.axiom.soap.SOAP12Constants;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.soap.SOAPFactory;
+import org.apache.axiom.soap.impl.builder.MTOMStAXSOAPModelBuilder;
 import org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder;
 import org.apache.axiom.soap.impl.llom.soap11.SOAP11Factory;
 import org.apache.axis2.AxisFault;
@@ -95,7 +96,7 @@
             if (contentType != null) {
                 msgContext.setDoingMTOM(true);
                 builder = selectBuilderForMIME(msgContext, inStream,
-                        (String) contentType);
+                        (String) contentType,true);
                 envelope = (SOAPEnvelope) builder.getDocumentElement();
             } else if (msgContext.isDoingREST()) {
                 XMLStreamReader xmlreader =
@@ -166,7 +167,7 @@
     }
 
 	public static StAXBuilder selectBuilderForMIME(MessageContext msgContext,
-			InputStream inStream, String contentTypeString) throws OMException,
+			InputStream inStream, String contentTypeString,boolean isSOAP) throws OMException,
 			XMLStreamException, FactoryConfigurationError {
 		StAXBuilder builder = null;
 
@@ -241,8 +242,8 @@
         msgContext.setProperty(Constants.Configuration.CHARACTER_SET_ENCODING, charSetEncoding);
 
         /*
-        * put a reference to Attachments in to the message context
-        * Leaving this out for backword compatibility with 1.0
+        * Put a reference to Attachments Map in to the message context 
+        * For backword compatibility with Axis2 1.0
         */
         msgContext.setProperty(MTOMConstants.ATTACHMENTS, attachments);
         
@@ -259,6 +260,8 @@
         	soapEnvelopeNamespaceURI = SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI;
         }
         
+        if (isSOAP)   
+        {
         if (attachments.getAttachmentSpecType().equals(MTOMConstants.MTOM_TYPE)& null!=soapEnvelopeNamespaceURI) {
 
             /*
@@ -269,6 +272,18 @@
         } else if (attachments.getAttachmentSpecType().equals(MTOMConstants.SWA_TYPE)& null!=soapEnvelopeNamespaceURI) {
             builder = new StAXSOAPModelBuilder(streamReader,
                     soapEnvelopeNamespaceURI);
+        }
+        }
+        // To handle REST XOP case
+        else
+        {
+            if (attachments.getAttachmentSpecType().equals(MTOMConstants.MTOM_TYPE)) {            
+                XOPAwareStAXOMBuilder stAXOMBuilder = new XOPAwareStAXOMBuilder(streamReader,attachments);
+                builder= stAXOMBuilder;
+            	 
+            } else if (attachments.getAttachmentSpecType().equals(MTOMConstants.SWA_TYPE)) {
+                builder = new StAXOMBuilder(streamReader);
+            }
         }
 
         return builder;

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/HTTPTransportUtils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/HTTPTransportUtils.java?view=diff&rev=453578&r1=453577&r2=453578
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/HTTPTransportUtils.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/HTTPTransportUtils.java Fri Oct  6 05:32:06 2006
@@ -195,7 +195,7 @@
                 if (contentType.indexOf(HTTPConstants.HEADER_ACCEPT_MULTIPART_RELATED) > -1) {
 
                     // It is MIME (MTOM or SwA)
-                    builder = TransportUtils.selectBuilderForMIME(msgContext, in, contentType);
+                    builder = TransportUtils.selectBuilderForMIME(msgContext, in, contentType,true);
                     envelope = (SOAPEnvelope) builder.getDocumentElement();
                 } else {
                     XMLStreamReader xmlreader;

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/util/RESTUtil.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/util/RESTUtil.java?view=diff&rev=453578&r1=453577&r2=453578
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/util/RESTUtil.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/util/RESTUtil.java Fri Oct  6 05:32:06 2006
@@ -205,8 +205,7 @@
                 // if the media type is multipart/related, get help from Axis2 :)
             } else if (checkContentType(org.apache.axis2.transport.http.HTTPConstants.MEDIA_TYPE_MULTIPART_RELATED, contentType)) {
                 body.addChild(TransportUtils.selectBuilderForMIME(msgCtxt,
-                        inputStream,
-                        contentType).getDocumentElement());
+                        inputStream,contentType,false).getDocumentElement());
             }
 
             return soapEnvelope;

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/jms/JMSUtils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/jms/JMSUtils.java?view=diff&rev=453578&r1=453577&r2=453578
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/jms/JMSUtils.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/jms/JMSUtils.java Fri Oct  6 05:32:06 2006
@@ -303,7 +303,7 @@
                 HTTPConstants.HEADER_ACCEPT_MULTIPART_RELATED) > -1) {
                 // It is MTOM
                 builder = TransportUtils.selectBuilderForMIME(
-                    msgContext, in, contentType);
+                    msgContext, in, contentType,true);
                 envelope = (SOAPEnvelope) builder.getDocumentElement();
 
             } else {



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org