[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