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