Author: scheu Date: Mon Nov 23 14:53:40 2009 New Revision: 883357 URL: http://svn.apache.org/viewvc?rev=883357&view=rev Log: WSCOMMNS-510 Contributor:Wendy Raschke Change Axiom to conform with: The WS-I Basic Profile 2.0 Specification, Rule R1109 states, "Parameters on the Content-Type MIME header field-value in a request MESSAGE MUST be a quoted string." Also a verification unit test.
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMOutputFormat.java webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/OMOutputFormatTest.java Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMOutputFormat.java URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMOutputFormat.java?rev=883357&r1=883356&r2=883357&view=diff ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMOutputFormat.java (original) +++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMOutputFormat.java Mon Nov 23 14:53:40 2009 @@ -261,7 +261,7 @@ * Content-Type value as defined by RFC 2387 and the XOP specification. The generated * header will look like the following: * - * Content-Type: multipart/related; boundary=[MIME BOUNDARY VALUE]; + * Content-Type: multipart/related; boundary="[MIME BOUNDARY VALUE]"; * type="application/xop+xml"; * start="[MESSAGE CONTENT ID]"; * start-info="[MESSAGE CONTENT TYPE]"; @@ -283,7 +283,13 @@ sb.append("multipart/related"); sb.append("; "); sb.append("boundary="); + // The value of the boundary parameter must be enclosed in double quotation + // marks, according to the Basic Profile 2.0 Specification, Rule R1109: + // "Parameters on the Content-Type MIME header field-value in a request + // MESSAGE MUST be a quoted string." + sb.append("\""); sb.append(getMimeBoundary()); + sb.append("\""); sb.append("; "); sb.append("type=\"" + MTOMConstants.MTOM_TYPE + "\""); sb.append("; "); @@ -298,7 +304,13 @@ sb.append("multipart/related"); sb.append("; "); sb.append("boundary="); + // The value of the boundary parameter must be enclosed in double quotation + // marks, according to the Basic Profile 2.0 Specification, Rule R1109: + // "Parameters on the Content-Type MIME header field-value in a request + // MESSAGE MUST be a quoted string." + sb.append("\""); sb.append(getMimeBoundary()); + sb.append("\""); sb.append("; "); sb.append("type=\"").append(SOAPContentType).append("\""); sb.append("; "); Modified: webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/OMOutputFormatTest.java URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/OMOutputFormatTest.java?rev=883357&r1=883356&r2=883357&view=diff ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/OMOutputFormatTest.java (original) +++ webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/OMOutputFormatTest.java Mon Nov 23 14:53:40 2009 @@ -73,6 +73,12 @@ // sub items in the future. assertTrue(contentType.indexOf(SOAP11Constants.SOAP_11_CONTENT_TYPE)!=-1); assertTrue(contentType.indexOf(MTOMConstants.MTOM_TYPE)!=-1); + + // Test for a double quoted boundary value. + // The Basic Profile 2.0 Specification, Rule R1109 says, + // "Parameters on the Content-Type MIME header field-value + // in a request MESSAGE MUST be a quoted string." + assertTrue(contentType.indexOf("boundary=\"")!=-1); } public void testGetContentTypeSOAP11SWA() { @@ -102,7 +108,11 @@ assertTrue(contentType.indexOf("multipart/related")>=0); assertTrue(contentType.indexOf(MTOMConstants.MTOM_TYPE) < 0); - + // Test for a double quoted boundary value. + // The Basic Profile 2.0 Specification, Rule R1109 says, + // "Parameters on the Content-Type MIME header field-value + // in a request MESSAGE MUST be a quoted string." + assertTrue(contentType.indexOf("boundary=\"")!=-1); } public void testGetContentTypeSOAP12MTOM() {