My colleague is trying to make our application run on WebSphere (WAS 5.0), however we are encountering an error submitting multipart forms. (Stacktrace pasted below) (Needless to say it all works sweet on TomCat...)
Ive not had time to experiment with it myself, but it looks like WAS is barfing on the org.apache.struts.upload.MultipartRequestWrapper object that struts wraps multipart requests in so one can get at the parameters. This implements HttpServletRequest but doesnt extend javax.servlet.http.HttpServletRequestWrapper in order to maintain compatibility with Servlet2.2 Is it a requirement in WAS or the Servlet specs that all HttpServletRequest implementations extend this? (And why would it cause a problem? I thought the struts wrapper is ditched before forwarding anyway?) [4/4/03 11:18:13:734 GMT+08:00] 691323f4 I UOW= source=com.gridnode.gtas.client.web.strutsbase.GTRequestProcessor class=com.gridnode.gtas.client.web.strutsbase.GTRequestProcessor method= org=IBM prod=WebSphere component=UNKNOWN Processing a 'POST' for path '/sysFoldersDispatchAction' [4/4/03 11:18:13:795 GMT+08:00] 691323f4 I UOW= source=com.gridnode.gtas.client.web.strutsbase.GTRequestProcessor class=com.gridnode.gtas.client.web.strutsbase.GTRequestProcessor method= org=IBM prod=WebSphere component=UNKNOWN Looking for ActionForm in OperationContext id=oc1 [4/4/03 11:18:13:795 GMT+08:00] 691323f4 I UOW= source=com.gridnode.gtas.client.web.strutsbase.GTRequestProcessor class=com.gridnode.gtas.client.web.strutsbase.GTRequestProcessor method= org=IBM prod=WebSphere component=UNKNOWN Found ActionForm in OperationContext [4/4/03 11:18:14:305 GMT+08:00] 691323f4 O UOW= source=SystemOut org=IBM prod=WebSphere component=Application Server { [4/4/03 11:18:14:305 GMT+08:00] 691323f4 I UOW= source=com.gridnode.gtas.client.web.strutsbase.GTRequestProcessor class=com.gridnode.gtas.client.web.strutsbase.GTRequestProcessor method= org=IBM prod=WebSphere component=UNKNOWN Processing a 'POST' for path '/renderingAction' [4/4/03 11:18:16:458 GMT+08:00] 691323f4 E UOW= source=com.ibm.ws.webcontainer.srt.WebGroup org=IBM prod=WebSphere component=Application Server SRVE0026E: [Servlet Error]-[action]: java.lang.IllegalArgumentException: Request is not of javax.servlet.ServletRequestWrapper type at com.ibm.ws.webcontainer.webapp.WebAppDispatcherRequest.getWASProxiedHttpServletRequest(WebAppDispatcherRequest.java:155) at com.ibm.ws.webcontainer.webapp.WebAppDispatcherRequest.getSession(WebAppDispatcherRequest.java:234) at com.ibm.ws.webcontainer.webapp.WebAppDispatcherRequest.getSession(WebAppDispatcherRequest.java:219) at org.apache.struts.upload.MultipartRequestWrapper.getSession(MultipartRequestWrapper.java:242) at com.gridnode.gtas.client.web.strutsbase.GTRequestProcessor.processLocale(GTRequestProcessor.java:167) at com.gridnode.gtas.client.web.strutsbase.GTRequestProcessor.process(GTRequestProcessor.java:250) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1109) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:470) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110) at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174) at com.ibm.ws.webcontainer.servlet.ServicingServletState.service(StrictLifecycleServlet.java:333) at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116) at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:258) at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42) at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:867) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:491) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:173) at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:972) at org.apache.struts.action.RequestProcessor.processActionForward(RequestProcessor.java:408) at com.gridnode.gtas.client.web.strutsbase.GTRequestProcessor.process(GTRequestProcessor.java:299) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1109) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:470) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110) at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174) at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313) at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116) at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:258) at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42) at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:76) at com.gridnode.gtas.client.web.strutsbase.OperationContextFilter.doFilter(OperationContextFilter.java:75) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:132) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:71) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:863) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:491) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:173) at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:79) at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:199) at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71) at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:182) at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:331) at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56) at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:432) at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:343) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:592) --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]