You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2025/05/11 01:15:00 UTC

[jira] [Commented] (WICKET-7154) wicket multipart support is broken for tomcat 11.0.6

    [ https://issues.apache.org/jira/browse/WICKET-7154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17950738#comment-17950738 ] 

ASF subversion and git services commented on WICKET-7154:
---------------------------------------------------------

Commit 8dcaafec3c6952476637b9252544be7e404a0d3c in wicket's branch refs/heads/reiern70/WICKET-7154 from reiern70
[ https://gitbox.apache.org/repos/asf?p=wicket.git;h=8dcaafec3c ]

[WICKET-7154] use getQueryParameters to avoid tomcat parsing the multipart request before we create MultipartServletWebRequest.


> wicket multipart support is broken for tomcat 11.0.6
> ----------------------------------------------------
>
>                 Key: WICKET-7154
>                 URL: https://issues.apache.org/jira/browse/WICKET-7154
>             Project: Wicket
>          Issue Type: Improvement
>    Affects Versions: 10.4.0
>            Reporter: Ernesto Reinaldo Barreiro
>            Priority: Blocker
>             Fix For: 11.0.0
>
>
> It seems wicket file upload functionality that depends on *commons-fileupload2* is broken for tomcat 11.x (I have tested with 11.0.5 and 11.0.6).
> First I though this is because tomcat 10.x is using 
> commons-fileupload2-jakarta-servlet5 thus I upgraded to commons-fileupload2-jakarta-servlet6 but the problem is the same.
>  
> It seems that tomcat 11.0.6 is already handling multipart and "consuming" the request thus when we file-upload2 tries to parse the request the underlying IdentityInputFilter
>  
> ([https://github.com/apache/tomcat/blob/11.0.x/java/org/apache/coyote/http11/filters/IdentityInputFilter.java)|https://github.com/apache/tomcat/blob/11.0.x/java/org/apache/coyote/http11/filters/IdentityInputFilter.java_]
>  
> has already "consumed" the request.  This also affects upload progress functionality.
> {*}Note{*}: I have tried to solve this is wicket but I think it can't be solved in a general way...
> {*}Why{*}: whenever to call getPostParameters in wicket tomcat will parse the multipart by itself and the request will be consumed. Thus, if anything before Form is processed  calls webRequest.getPostParameters().getParameterValue("XXX") then MultipartServletWebRequest will not work (as tomcat will consume the request).  I have reported this on Tomcat users list and they requested a "quick-start". I created one using wicket. 
>  
> {*}Additional info{*}: Tomcat 11 does not support multipart "out of the box". You need to either set 
>  
> <Context allowCasualMultipartParsing="true">
> ...
> </Context>
>  
> or us @MultipartConfig on a wicket servlet.
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)