You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commons-dev@ws.apache.org by sc...@apache.org on 2008/05/30 23:56:49 UTC

svn commit: r661891 - in /webservices/commons/trunk/modules/axiom/modules: axiom-api/src/main/java/org/apache/axiom/attachments/impl/ axiom-tests/src/test/java/org/apache/axiom/attachments/ axiom-tests/test-resources/mtom/

Author: scheu
Date: Fri May 30 14:56:49 2008
New Revision: 661891

URL: http://svn.apache.org/viewvc?rev=661891&view=rev
Log:
WSCOMMONS-354
Contributor:Rich Scheuerle
Discovered By: Mark Welesko & Jay Witherspoon
Respect semicolon as a continue character when parsing HTTP headers

Modified:
    webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/impl/PartFactory.java
    webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/attachments/AttachmentsTest.java
    webservices/commons/trunk/modules/axiom/modules/axiom-tests/test-resources/mtom/MTOMAttachmentStream.bin

Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/impl/PartFactory.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/impl/PartFactory.java?rev=661891&r1=661890&r2=661891&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/impl/PartFactory.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/impl/PartFactory.java Fri May 30 14:56:49 2008
@@ -232,9 +232,14 @@
                             done = true;
                         } 
                     } else {
-                        // now parse and add the header String
-                        readHeader(sb, headers);
-                        sb.delete(0, sb.length()); // Clear the buffer for reuse
+                        
+                        // Semicolon is a continuation character
+                        String check = headers.toString().trim();
+                        if (!check.endsWith(";")) {
+                            // now parse and add the header String
+                            readHeader(sb, headers);
+                            sb.delete(0, sb.length()); // Clear the buffer for reuse
+                        }
                         sb.append((char) ch);
                     }
                 } else {

Modified: webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/attachments/AttachmentsTest.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/attachments/AttachmentsTest.java?rev=661891&r1=661890&r2=661891&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/attachments/AttachmentsTest.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/attachments/AttachmentsTest.java Fri May 30 14:56:49 2008
@@ -77,8 +77,10 @@
 
         // These should NOT throw error even though they are using part based access
         try {
-            assertEquals("application/xop+xml; charset=UTF-8; type=\"application/soap+xml\";",
-                         attachments.getSOAPPartContentType());
+            String contentType = attachments.getSOAPPartContentType();
+            assertTrue(contentType.indexOf("application/xop+xml;") >=0);
+            assertTrue(contentType.indexOf("charset=UTF-8;") >=0);
+            assertTrue(contentType.indexOf("type=\"application/soap+xml\";") >=0);
         } catch (IllegalStateException ise) {
             fail("No exception expected when requesting SOAP part data");
             ise.printStackTrace();

Modified: webservices/commons/trunk/modules/axiom/modules/axiom-tests/test-resources/mtom/MTOMAttachmentStream.bin
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-tests/test-resources/mtom/MTOMAttachmentStream.bin?rev=661891&r1=661890&r2=661891&view=diff
==============================================================================
Binary files - no diff available.