You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2010/11/19 00:07:54 UTC

svn commit: r1036675 - /axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java

Author: veithen
Date: Thu Nov 18 23:07:54 2010
New Revision: 1036675

URL: http://svn.apache.org/viewvc?rev=1036675&view=rev
Log:
Replaced usage of deprecated MIMEOutputUtils class.

Modified:
    axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java

Modified: axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java?rev=1036675&r1=1036674&r2=1036675&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java (original)
+++ axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java Thu Nov 18 23:07:54 2010
@@ -20,19 +20,15 @@
 package org.apache.axis2.saaj;
 
 import org.apache.axiom.attachments.Attachments;
-import org.apache.axiom.attachments.ByteArrayDataSource;
 import org.apache.axiom.om.OMException;
 import org.apache.axiom.om.OMOutputFormat;
-import org.apache.axiom.om.impl.MIMEOutputUtils;
-import org.apache.axiom.soap.SOAP11Constants;
-import org.apache.axiom.soap.SOAP12Constants;
+import org.apache.axiom.om.impl.OMMultipartWriter;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.soap.impl.dom.soap11.SOAP11Factory;
 import org.apache.axiom.soap.impl.dom.soap12.SOAP12Factory;
 import org.apache.axis2.saaj.util.SAAJUtil;
 import org.apache.axis2.transport.http.HTTPConstants;
 
-import javax.activation.DataHandler;
 import javax.xml.soap.AttachmentPart;
 import javax.xml.soap.MimeHeader;
 import javax.xml.soap.MimeHeaders;
@@ -43,7 +39,6 @@ import javax.xml.soap.SOAPHeader;
 import javax.xml.soap.SOAPMessage;
 import javax.xml.soap.SOAPPart;
 
-import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -51,7 +46,6 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Hashtable;
 import java.util.Iterator;
-import java.util.LinkedHashMap;
 import java.util.Map;
 
 public class SOAPMessageImpl extends SOAPMessage {
@@ -322,20 +316,14 @@ public class SOAPMessageImpl extends SOA
             } else {
                 format.setSOAP11(((SOAPEnvelopeImpl)soapPart.getEnvelope()).getOMFactory()
                         instanceof SOAP11Factory);
-                Map<String,DataHandler> attachmentsMap = new LinkedHashMap<String,DataHandler>();
+                OMMultipartWriter mpw = new OMMultipartWriter(out, format);
+                OutputStream rootPartOutputStream = mpw.writeRootPart();
+                envelope.serialize(rootPartOutputStream);
+                rootPartOutputStream.close();
                 for (AttachmentPart ap : attachmentParts) {
-                    attachmentsMap.put(ap.getContentId(), ap.getDataHandler());
+                    mpw.writePart(ap.getDataHandler(), ap.getContentId());
                 }
-                ByteArrayOutputStream baos = new ByteArrayOutputStream();
-                envelope.serialize(baos);
-                String contentType =
-                        (format.isSOAP11() ? SOAP11Constants.SOAP_11_CONTENT_TYPE :
-                                             SOAP12Constants.SOAP_12_CONTENT_TYPE)
-                        + "; charset=" + format.getCharSetEncoding();
-                DataHandler rootDataHandler =
-                        new DataHandler(new ByteArrayDataSource(baos.toByteArray(), contentType));
-                MIMEOutputUtils.writeDataHandlerWithAttachmentsMessage(rootDataHandler,
-                        contentType, out, attachmentsMap, format);
+                mpw.complete();
             }
             saveChanges();
         } catch (Exception e) {