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 2012/04/30 19:39:33 UTC
svn commit: r1332311 -
/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/builder/SOAPBuilder.java
Author: veithen
Date: Mon Apr 30 17:39:32 2012
New Revision: 1332311
URL: http://svn.apache.org/viewvc?rev=1332311&view=rev
Log:
AXIS2-5308: In the SwA case, remove the root part from the Attachments object before adding it to the message context, so that the Attachments object in the message context always contains attachment parts only (both for incoming and for outgoing messages).
Modified:
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/builder/SOAPBuilder.java
Modified: axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/builder/SOAPBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/builder/SOAPBuilder.java?rev=1332311&r1=1332310&r2=1332311&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/builder/SOAPBuilder.java (original)
+++ axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/builder/SOAPBuilder.java Mon Apr 30 17:39:32 2012
@@ -63,8 +63,6 @@ public class SOAPBuilder implements MIME
public OMElement processMIMEMessage(Attachments attachments, String contentType,
MessageContext messageContext) throws AxisFault {
- messageContext.setAttachmentMap(attachments);
-
String charSetEncoding =
BuilderUtil.getCharSetEncoding(attachments.getRootPartContentType());
if (charSetEncoding == null) {
@@ -74,7 +72,12 @@ public class SOAPBuilder implements MIME
charSetEncoding);
messageContext.setDoingSwA(true);
+
+ InputStream in = attachments.getRootPartInputStream(false);
+ // Only the attachment parts should be accessible; remove the root part
+ attachments.removeDataHandler(attachments.getRootPartContentID());
+ messageContext.setAttachmentMap(attachments);
- return processDocument(attachments.getRootPartInputStream(false), contentType, messageContext);
+ return processDocument(in, contentType, messageContext);
}
}