[ https://issues.apache.org/jira/browse/CXF-6180?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sergey Beryozkin updated CXF-6180: ---------------------------------- Component/s: Core > Bad parse of Multipart request > ------------------------------ > > Key: CXF-6180 > URL: https://issues.apache.org/jira/browse/CXF-6180 > Project: CXF > Issue Type: Bug > Components: Core, JAX-RS > Affects Versions: 3.0.3 > Environment: Java 1.7 > Reporter: Arnaud Masciotra > Attachments: cxf6180.txt, issue-cxf-6180.zip > > > A valid HTTP request POST with Multipart get an HTTP ERROR 400 Bad request, > because the content is not well parsed by CXF > -------------------------------- > POST http://localhost:8080/ws/test/test HTTP/1.1 > Content-Length: 196 > Content-Type: multipart/form-data; boundary=MultiPart; charset=UTF-8 > Host: localhost:8080 > Connection: Keep-Alive > User-Agent: Apache-HttpClient/4.0.1 (java 1.5) > Expect: 100-Continue > --MultiPart > Content-Disposition: form-data; name="foo" > Content-Type: text/plain > Foo Content > --MultiPart > Content-Disposition: form-data; name="bar" > Content-Type: text/html > Bar Content > --MultiPart > -------------------------------- > Server side code : > @Path("/test") > public class TestWebService > { > @POST > @Path("/test") > @Consumes(MediaType.MULTIPART_FORM_DATA) > public void test(@Multipart(value = "foo") String foo, @Multipart(value = > "bar") String bar) { > // DO NOTHING BECAUSE OF THE HTTP ERROR 400 ! > } > } > -------------------------------- > The cause is the first Header of the Second Attachment is not well read ... > The C of "Content-Disposition" is missing ! > Then the method getContentDisposition() of the second Attachment is always > null ... > headers ArrayList in AttanchmentImpl isn't well construct ... > If you add a useless character in front of "Content-Disposition" header, then > I got a valid response (in this case, HTTP 204) -- This message was sent by Atlassian JIRA (v6.3.4#6332)