You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by Incze Lajos <in...@mail.matav.hu> on 2001/06/10 02:35:40 UTC

Multipart problems

Something really went wrong in the multipart request handling
(manipulation).

The only scenario that works at the moment for me, when the
file and the other request parameters all are good, so the
file upload was successful. I'm testing with tomcat3.3 and
tomcat4 (m3 and b5 versions) and the struts b3 version.

When something is wrong the multipart handlibg manipulates
something dirty (rewraps/repackages? the request) and there
is a problem here.

Tomcat3 and Tomcat4 fails differently but that's sensible.
                                                   incze
--
E.g. the log shows this when the filename and upload was ok
but the ActionForm validation routine retuned an error (tomcat4b5,
struts1b3):


2001-06-10 02:16:06 action: Processing a POST for /actions/upload
2001-06-10 02:16:06 action:  Looking for ActionForm bean under attribute 'upload'
2001-06-10 02:16:06 action:  Creating new ActionForm instance of class 'geocom.mvc.UploadForm'
2001-06-10 02:16:06 action:  Storing instance under attribute 'upload' in scope 'request'
2001-06-10 02:16:06 action:  Populating bean properties from this request
2001-06-10 02:16:06 action:  Validating input form properties
2001-06-10 02:16:06 action:   Rolling back the multipart request
2001-06-10 02:16:06 action:   Validation error(s), redirecting to: /WEB-INF/jsp/submit.jsp
2001-06-10 02:16:07 StandardWrapperValve[action]: Servlet.service() for servlet action threw exception
java.lang.IllegalArgumentException: Request is not a javax.servlet.ServletRequestWrapper
        at java.lang.RuntimeException.<init>(RuntimeException.java:49)
        at java.lang.IllegalArgumentException.<init>(IllegalArgumentException.java:45)
        at org.apache.catalina.core.ApplicationHttpRequest.calculateParent(ApplicationHttpRequest.java:427)
        at org.apache.catalina.core.ApplicationHttpRequest.setRequest(ApplicationHttpRequest.java:563)
        at org.apache.catalina.core.ApplicationHttpRequest.<init>(ApplicationHttpRequest.java:126)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:338)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
        at org.apache.struts.action.ActionServlet.processValidate(ActionServlet.java:2137)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1564)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:509)        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:254)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:194)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:255)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:225)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:518)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2252)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:446)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)        at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:875)
        at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:952)
        at java.lang.Thread.run(Thread.java:498)