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/28 17:10:31 UTC
svn commit: r1331783 - in /axis/axis2/java/core/trunk/modules:
jaxws/src/org/apache/axis2/jaxws/message/attachments/AttachmentUtils.java
kernel/src/org/apache/axis2/builder/MIMEBuilder.java
Author: veithen
Date: Sat Apr 28 15:10:30 2012
New Revision: 1331783
URL: http://svn.apache.org/viewvc?rev=1331783&view=rev
Log:
AXIS2-5302: Enable streaming of the root part of a SwA/MTOM message.
Modified:
axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/attachments/AttachmentUtils.java
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/builder/MIMEBuilder.java
Modified: axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/attachments/AttachmentUtils.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/attachments/AttachmentUtils.java?rev=1331783&r1=1331782&r2=1331783&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/attachments/AttachmentUtils.java (original)
+++ axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/attachments/AttachmentUtils.java Sat Apr 28 15:10:30 2012
@@ -82,19 +82,24 @@ public class AttachmentUtils {
if (log.isDebugEnabled()) {
log.debug("Attachments exist....");
}
- for(int i=0; i < contentIds.length; i++){
- DataHandler dh = attachments.getDataHandler(contentIds[i]);
- if(dh != null){
- DataSource dataSource = dh.getDataSource();
- if(dh != null && dataSource instanceof CachedFileDataSource){
- if (log.isDebugEnabled()) {
- log.debug("Attachment's DataHandler uses CachedFileDataSource...");
+ String rootContentId = attachments.getRootPartContentID();
+ for (String contentId : contentIds) {
+ // Skip the SOAP part because it is never cached on file and because it may have
+ // been consumed (which would cause getDataSource() to throw an exception)
+ if (!contentId.equals(rootContentId)) {
+ DataHandler dh = attachments.getDataHandler(contentId);
+ if(dh != null){
+ DataSource dataSource = dh.getDataSource();
+ if(dh != null && dataSource instanceof CachedFileDataSource){
+ if (log.isDebugEnabled()) {
+ log.debug("Attachment's DataHandler uses CachedFileDataSource...");
+ }
+ File file = ((CachedFileDataSource)dataSource).getFile();
+ if (log.isDebugEnabled()) {
+ log.debug(" Making file.deleteOnExit() request on "+file.getAbsolutePath());
+ }
+ file.deleteOnExit();
}
- File file = ((CachedFileDataSource)dataSource).getFile();
- if (log.isDebugEnabled()) {
- log.debug(" Making file.deleteOnExit() request on "+file.getAbsolutePath());
- }
- file.deleteOnExit();
}
}
}
Modified: axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/builder/MIMEBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/builder/MIMEBuilder.java?rev=1331783&r1=1331782&r2=1331783&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/builder/MIMEBuilder.java (original)
+++ axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/builder/MIMEBuilder.java Sat Apr 28 15:10:30 2012
@@ -71,7 +71,7 @@ public class MIMEBuilder implements Buil
type = startInfo;
}
}
- return builder.processDocument(attachments.getRootPartInputStream(),
+ return builder.processDocument(attachments.getRootPartInputStream(false),
type, msgContext);
}
}