cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shashank Rachamalla <shashank.rachama...@hexagrid.com>
Subject Re: Couldn't find MIME boundary exception while using multipart/form-data
Date Tue, 26 Apr 2011 10:52:51 GMT
On Tue, Apr 26, 2011 at 4:18 PM, Sergey Beryozkin <sberyozkin@gmail.com>wrote:

> Hi
>
> On Tue, Apr 26, 2011 at 11:11 AM, Shashank Rachamalla
> <shashank.rachamalla@hexagrid.com> wrote:
> > Hi
> >
> > i have made the following changes but the exception still gets caught:
> >
> >    @Override
> >    @POST
> >    @Consumes(MediaType.MULTIPART_FORM_DATA)
> >    public Response saveForm(MultipartBody body) {
> >        System.out.println(body.getAllAttachments().size());
> >        return Response.status(Response.Status.OK).build();
> >    }
> >
> >
>
> I have a nearly identical test resource (a single file case), please see
>
>
> http://svn.apache.org/repos/asf/cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/resources/attachmentFormJsonFile
>

thanks. will check it out.


> Can you please send me the tcpmon log as an attachment ? There must be
> some extra space somewhere or something like that, but it can be
> spotted during the debugging process...
>

i have attached the log


>
> Cheers, Sergey
>
> > On Tue, Apr 26, 2011 at 3:19 PM, Shashank Rachamalla <
> > shashank.rachamalla@hexagrid.com> wrote:
> >
> >> Hi
> >>
> >> thanks for replying. comments inline.
> >>
> >>
> >> On Tue, Apr 26, 2011 at 2:52 PM, Sergey Beryozkin <sberyozkin@gmail.com
> >wrote:
> >>
> >>> Hi
> >>>
> >>> On Tue, Apr 26, 2011 at 9:58 AM, Shashank Rachamalla
> >>> <shashank.rachamalla@hexagrid.com> wrote:
> >>> > Hi
> >>> >
> >>> > Can anyone please let me know if I have done something wrong here..
> >>> >
> >>> > *I have exposed the following simple service method ( using cxf 2.3.3
> )
> >>> *
> >>> >
> >>> >    @Override
> >>> >    @POST
> >>> >    @Consumes(MediaType.MULTIPART_FORM_DATA)
> >>> >    public Response saveForm() {
> >>> >        System.out.println(AttachmentUtils.getAttachments(mc).size());
> >>> >        return Response.status(Response.Status.OK).build();
> >>> >    }
> >>>
> >>> I think the problem might be related to the fact you are calling
> >>>
> >>> AttachmentUtils.getAttachments(mc) directly, I'm assuming 'mc' is
> >>> referring to injected MessageContext.
> >>>
> >>> yes, mc is referring to injected MessageContext
> >>
> >>
> >>> I can actually see few tests where AttachmentUtils is called directly
> >>> in the tests, ex, for simple form-data submissions:
> >>>
> >>> MultivaluedMap<String, String> data =
> >>> AttachmentUtils.populateFormMap(context);
> >>> and
> >>> AttachmentUtils.getMultipartBody(context)
> >>>
> >>> but may be you have to explicitly add MultipartBody as a method
> >>> parameter - this will ensure MultipartProvider is invoked and it does
> >>> some multipart/form-data related processing, so it may help.
> >>>
> >>
> >> fine. i will try this out now.
> >>
> >>
> >>> More comments inline
> >>>
> >>> >
> >>> > *The following is a request ( captured through tcpmon ) to the above
> >>> defined
> >>> > service method:* ( it is a form post )
> >>> >
> >>> > POST /api/v1/rest HTTP/1.1
> >>> > Host: localhost:8081
> >>> > User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.3)
> >>> > Gecko/20100423 Ubuntu/10.04 (lucid) Firefox/3.6.3
> >>> > Accept:
> text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
> >>> > Accept-Language: en-us,en;q=0.5
> >>> > Accept-Encoding: gzip,deflate
> >>> > Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
> >>> > Keep-Alive: 115
> >>> > Connection: keep-alive
> >>> > Referer: http://localhost/form.html
> >>> > Content-Type: multipart/form-data;
> >>> > boundary=---------------------------91021093918280655661679102041
> >>>
> >>
> >> tcpmon shows boundary on the same line.
> >>
> >>
> >>>  Can it be a problem ? I'm not sure if the boundary parameter is shown
> >>> on the next line by tcpmon or actually located on the next line, which
> >>> is probably correct, but may be it's confusing CXF a bit ?
> >>>
> >>> > Content-Length: 345
> >>> >
> >>> > -----------------------------91021093918280655661679102041
> >>> > Content-Disposition: form-data; name="title"
> >>> >
> >>> > test
> >>> > -----------------------------91021093918280655661679102041
> >>> > Content-Disposition: form-data; name="file"; filename="test.txt"
> >>> > Content-Type: text/plain
> >>> >
> >>> > file content
> >>> >
> >>> > -----------------------------91021093918280655661679102041--
> >>> >
> >>>
> >>> Can it be that the extra line between 'file content' and the final
> >>> boundary is present ?
> >>>
> >>> >
> >>> > *The following is the response received for above request:*
> >>> >
> >>> > <ns1:XMLFault>
> >>> > <ns1:faultstring>
> >>> > java.io.IOException: Couldn't find MIME boundary:
> >>> > -----------------------------91021093918280655661679102041
> >>> > </ns1:faultstring>
> >>> > </ns1:XMLFault>
> >>> >
> >>> > Thanks in advance !
> >>> >
> >>>
> >>> Please try adding MultipartBody to the method signature and I'll do a
> >>> test a bit later on too,
> >>>
> >>> thanks, Sergey
> >>>
> >>>
> >>> >
> >>> > Regards,
> >>> > Shashank Rachamalla
> >>> >
> >>>
> >>
> >>
> >>
> >> --
> >> Regards,
> >> Shashank Rachamalla
> >>
> >
> >
> >
> > --
> > Regards,
> > Shashank Rachamalla
> >
>
>
>
> --
> Sergey Beryozkin
>
> Application Integration Division of Talend
> http://sberyozkin.blogspot.com
>



-- 
Regards,
Shashank Rachamalla

Mime
View raw message