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]

Reply via email to