[ https://issues.apache.org/jira/browse/WW-5506?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lukasz Lenart resolved WW-5506. ------------------------------- Resolution: Cannot Reproduce I tested Struts 7.0.3 with Tomcat 11 and cannot reproduce this issue: {noformat} dev-3:[21][nt-devel]~/P/A/s/file-upload (feature/sitemesh3-upload|✔)> podman compose up Attaching to struts-file-upload struts-file-upload | 22-Aug-2025 07:20:02.289 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name: Apache Tomcat/11.0.10 struts-file-upload | 22-Aug-2025 07:20:02.291 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Jul 31 2025 16:29:14 UTC struts-file-upload | 22-Aug-2025 07:20:02.291 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 11.0.10.0 struts-file-upload | 22-Aug-2025 07:20:02.291 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Linux struts-file-upload | 22-Aug-2025 07:20:02.291 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 6.12.13-200.fc41.aarch64 struts-file-upload | 22-Aug-2025 07:20:02.291 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: aarch64 struts-file-upload | 22-Aug-2025 07:20:02.291 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: /opt/java/openjdk struts-file-upload | 22-Aug-2025 07:20:02.291 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 21.0.8+9-LTS struts-file-upload | 22-Aug-2025 07:20:02.291 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Eclipse Adoptium struts-file-upload | 22-Aug-2025 07:20:02.291 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: /usr/local/tomcat{noformat} > File upload not working with Tomcat 11 > -------------------------------------- > > Key: WW-5506 > URL: https://issues.apache.org/jira/browse/WW-5506 > Project: Struts 2 > Issue Type: Bug > Components: Dispatch Filter > Affects Versions: 7.0.0 > Environment: Tomcat 11.0.2 > WebApp based on Struts 7.0.0 > Reporter: Ricky > Assignee: Lukasz Lenart > Priority: Major > Fix For: 7.1.0 > > > The method > Dispatcher.{color:#000000}{color:#000000}createContextMap{color}{color} > doesn't support Tomcat 11 new behaviour. > Until Tomcat 10 the method Request.getParameterMap returned empty parts when > multipart/form-data was posted. Now it throws an IllegalStateException. > The exception rises al line: > {color:#000000}{color:#000000}HttpParameters > {color}{color:#6a3e3e}params{color}{color:#000000} = > HttpParameters.{color}{color:#000000}create{color}{color:#000000}({color}{color:#6a3e3e}request{color}{color:#000000}.getParameterMap()).build();{color}{color} > Exception stack follows: > {noformat} > java.lang.IllegalStateException: Unable to process parts as no multi-part > configuration has been provided > at org.apache.catalina.connector.Request.parseParts(Request.java:2427) > at > org.apache.catalina.connector.Request.doParseParameters(Request.java:2799) > at > org.apache.catalina.connector.Request.parseParameters(Request.java:2755) > at > org.apache.catalina.connector.Request.getParameterNames(Request.java:1071) > at > org.apache.catalina.connector.Request.getParameterMap(Request.java:1056) > at > org.apache.catalina.connector.RequestFacade.getParameterMap(RequestFacade.java:173) > at > org.apache.struts2.dispatcher.Dispatcher.createContextMap(Dispatcher.java:807) > at > org.apache.struts2.dispatcher.PrepareOperations.createActionContext(PrepareOperations.java:103) > at > org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.handleRequest(StrutsPrepareAndExecuteFilter.java:143) > at > org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.tryHandleRequest(StrutsPrepareAndExecuteFilter.java:137) > at > org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:125) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:109) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:79) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) > at > org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:663) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) > at > org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:395) > at > org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) > at > org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1746) > at > org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) > at > org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1148) > at > org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) > at > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) > at java.base/java.lang.Thread.run(Thread.java:1583){noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)