[jbossws-commits] JBossWS SVN: r9333 - stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/attachment.
jbossws-commits at lists.jboss.org
jbossws-commits at lists.jboss.org
Fri Feb 20 05:03:36 EST 2009
Author: mageshbk at jboss.com
Date: 2009-02-20 05:03:36 -0500 (Fri, 20 Feb 2009)
New Revision: 9333
Modified:
stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/attachment/MultipartRelatedXOPEncoder.java
Log:
[JBWS-2419] MTOM/XOP message use always "text/xml" for start-info regardless of content type associated with the content - Fixed
Modified: stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/attachment/MultipartRelatedXOPEncoder.java
===================================================================
--- stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/attachment/MultipartRelatedXOPEncoder.java 2009-02-20 10:01:14 UTC (rev 9332)
+++ stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/attachment/MultipartRelatedXOPEncoder.java 2009-02-20 10:03:36 UTC (rev 9333)
@@ -27,6 +27,7 @@
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.ParameterList;
+import javax.xml.soap.SOAPConstants;
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPException;
@@ -57,10 +58,14 @@
public void encodeMultipartRelatedMessage() throws SOAPException, MessagingException
{
+ SOAPEnvelope soapEnv = soapMessage.getSOAPPart().getEnvelope();
+ boolean isSoap12 = SOAPConstants.URI_NS_SOAP_1_2_ENVELOPE.equals(soapEnv.getElementQName().getNamespaceURI());
+ String soapType = isSoap12 ? MimeConstants.TYPE_SOAP12 : MimeConstants.TYPE_SOAP11;
+
ParameterList p = new ParameterList();
p.set("type", MimeConstants.TYPE_APPLICATION_XOP_XML);
p.set("start", MimeConstants.ROOTPART_CID);
- p.set("start-info", MimeConstants.START_INFO_XOP);
+ p.set("start-info", soapType);
MimeMultipart multipart = new MimeMultipart("related" + p);
MimeBodyPart rootPart = new MimeBodyPart();
@@ -71,12 +76,11 @@
* to marshall the message. In this way the root part can be lazily written to the output
* stream.
*/
- SOAPEnvelope soapEnv = soapMessage.getSOAPPart().getEnvelope();
String envStr = SOAPElementWriter.writeElement((SOAPElementImpl)soapEnv, false);
rootPart.setText(envStr, "UTF-8");
rootPart.setContentID(MimeConstants.ROOTPART_CID);
- rootPart.setHeader(MimeConstants.CONTENT_TYPE, MimeConstants.TYPE_APPLICATION_XOP_XML + "; type=\"text/xml\"");
+ rootPart.setHeader(MimeConstants.CONTENT_TYPE, MimeConstants.TYPE_APPLICATION_XOP_XML + "; type=\"" + soapType + "\"");
rootPart.setHeader(MimeConstants.CONTENT_TRANSFER_ENCODING, MimeConstants.TEXT_8BIT_ENCODING);
multipart.addBodyPart(rootPart);
More information about the jbossws-commits
mailing list