[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