[gatein-issues] [JBoss JIRA] (GTNWSRP-346) Multipart requests are not handeled if there is no attached file

Chris Laprun (JIRA) jira-events at lists.jboss.org
Wed Jan 16 13:05:21 EST 2013


     [ https://issues.jboss.org/browse/GTNWSRP-346?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chris Laprun updated GTNWSRP-346:
---------------------------------

              Status: Pull Request Sent  (was: Open)
    Git Pull Request: https://github.com/gatein/gatein-wsrp/pull/65

    
> Multipart requests are not handeled if there is no attached file
> ----------------------------------------------------------------
>
>                 Key: GTNWSRP-346
>                 URL: https://issues.jboss.org/browse/GTNWSRP-346
>             Project: GateIn WSRP
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 2.1.7-GA, 2.2.2.Final
>            Reporter: Martin Weiler
>            Assignee: Chris Laprun
>             Fix For: 2.1.8-GA, 2.2.3.Final
>
>
> We have html multipart form in a wsrp portlet:
> {code:xml}
> <form enctype="multipart/form-data" method="post" ...
> {code}
> with an optional input field for an attachment:
> {code:xml}
> <input type="file" value="org.springframework.web.multipart.commons.CommonsMultipartFile at f3af1" name="attachement">
> {code}
> The "org.gatein.wsrp.consumer.handlers.ActionHandler" handles the request correctly and tries to create a UploadContext with the help of the WSRPTypeFactory:
> {code}
>  UploadContext uploadContext = WSRPTypeFactory.createUploadContext(contentType, baos.toByteArray());
> {code}
> The problem is, that the createUploadContext throws an exception if the byte array has a content lenght of 0 and so the rest of the parameteres are not handled correctly:
> {code}
>    public static UploadContext createUploadContext(String mimeType, byte[] uploadData)
>    {
>       ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(mimeType, "MIME Type", "UploadContext");
>       if (uploadData == null || uploadData.length == 0)
>       {
>          throw new IllegalArgumentException("Must pass non-null, non-empty upload data");
>       }
>  
>       UploadContext uploadContext = new UploadContext();
>       uploadContext.setMimeType(mimeType);
>       uploadContext.setUploadData(uploadData);
>       return uploadContext;
>    }
> {code}
> So currently the post request with WSRP works only if really a file is attached. Without WSRP it runs with and without an attached file.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the gatein-issues mailing list