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) {