dims 2003/03/05 10:25:06
Modified: java/src/org/apache/axis Message.java
java/test/saaj TestAttachmentSerialization.java
Log:
Fix for Bug 17664 - SOAPMessage MimeHeaders not being created for attachments
Notes:
- For now...Am making Content-Type available. Need to find out what else is required.
Revision Changes Path
1.94 +8 -0 xml-axis/java/src/org/apache/axis/Message.java
Index: Message.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/Message.java,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -r1.93 -r1.94
--- Message.java 11 Dec 2002 22:38:06 -0000 1.93
+++ Message.java 5 Mar 2003 18:25:06 -0000 1.94
@@ -56,6 +56,7 @@
package org.apache.axis;
import org.apache.axis.attachments.Attachments;
+import org.apache.axis.attachments.AttachmentsImpl;
import org.apache.axis.components.logger.LogFactory;
import org.apache.axis.message.SOAPEnvelope;
import org.apache.axis.soap.SOAPConstants;
@@ -501,6 +502,13 @@
* was a problem saving changes to this message.
*/
public void saveChanges() throws SOAPException {
+ if (mAttachments != null && 0 < mAttachments.getAttachmentCount()) {
+ try {
+ headers.setHeader("Content-Type",mAttachments.getContentType());
+ } catch (AxisFault af){
+ log.error(Messages.getMessage("exception00"), af);
+ }
+ }
saveRequired = false;
}
1.5 +9 -0 xml-axis/java/test/saaj/TestAttachmentSerialization.java
Index: TestAttachmentSerialization.java
===================================================================
RCS file: /home/cvs/xml-axis/java/test/saaj/TestAttachmentSerialization.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- TestAttachmentSerialization.java 11 Dec 2002 22:40:18 -0000 1.4
+++ TestAttachmentSerialization.java 5 Mar 2003 18:25:06 -0000 1.5
@@ -140,6 +140,15 @@
ap2.setContentType("image/jpg");
msg.addAttachmentPart(ap2);
+ // Test for Bug #17664
+ if(msg.saveRequired()) {
+ msg.saveChanges();
+ }
+ MimeHeaders headers = msg.getMimeHeaders();
+ assertTrue(headers != null);
+ String [] contentType = headers.getHeader("Content-Type");
+ assertTrue(contentType != null);
+
msg.writeTo(os);
os.flush();
return msg.countAttachments();