Yes this is a bug in Websphere (also happens in Tomcat3.1)
Just change that specifiek call to call it directy from the request instead of gong
through the PageContext (i think)
johan
----- Original Message -----
From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, May 21, 2001 8:51 AM
Subject: Struts 1.0 b2 with Websphere 3.5 fixed pak 2
> I have struts 1.0 b1 with fine with Websphere but after using b2 the
> problem comes up. I got servletException
>
> javax.servlet.ServletException: cant remove Attributes from request scope
>
> Any ideal?
>
> This is my JSP page
>
> <%@ page language="java" %>
> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
> <html:form action="/Travel_Step1.do" >
> </html:form>
>
> This is the error:
>
> register('-//Apache Software Foundation//DTD Struts Configuration 1.0//EN',
> 'classloader:e:
> \data\demo\web\WEB-INF\classes\org\apache\struts\resources\struts-config_1_0.dtd'
> register('-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN',
> 'classloader:e:
> \data\demo\web\WEB-INF\classes\org\apache\struts\resources\web-app_2_2.dtd'
> register('-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN',
> 'classloader:e:
> \data\demo\web\WEB-INF\classes\org\apache\struts\resources\web-app_2_3.dtd'
> resolveEntity('-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN',
> 'http://java.sun.com/j2ee/dtds/web-app_2_2.dtd')
> Resolving to alternate DTD 'classloader:e:
> \data\demo\web\WEB-INF\classes\org\apache\struts\resources\web-app_2_2.dtd'
> Call
>
>org.apache.struts.action.ActionServlet.addServletMapping(TravelAction/java.lang.String,
>
> do/java.lang.String)
> [01.05.21 16:41:53:921 GMT+10:00] 89b3fe50 WebGroup A SRVE0091I:
> [Servlet LOG]: "TravelAction: Process servletName=TravelAction, urlPattern
> =*.do"
> [01.05.21 16:41:53:968 GMT+10:00] 89b3fe50 WebGroup A SRVE0091I:
> [Servlet LOG]: "TravelAction: Mapping for servlet 'TravelAction' = '*.do'"
> [01.05.21 16:41:54:015 GMT+10:00] 89b3fe50 ServletInstan A SRVE0130I:
> Servlet available for service: "TravelAction"
> urilist: /ErrorReporter=Error Reporting Facility
> /=File Serving Enabler
> *.jsp=JSP 1.1 Processor
> *.jsv=JSP 1.1 Processor
> *.jsw=JSP 1.1 Processor
> *.do=TravelAction
>
> [01.05.21 16:43:16:578 GMT+10:00] 4ddcfe56 ServletInstan X Uncaught service
> () exception thrown by servlet {0}: {1}
> "JSP 1.1 Processor"
> javax.servlet.ServletException: cant
> remove Attributes from request scope
> at javax.servlet.ServletException.<init>(ServletException.java:161)
> at
>
>org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:386)
> at _t_jsp_0._jspService(_t_jsp_0.java:101)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:127)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at
> org.apache.jasper.runtime.JspServlet$JspServletWrapper.service(JspServlet.java:381)
> at
> org.apache.jasper.runtime.JspServlet.serviceJspFile(JspServlet.java:702)
> at org.apache.jasper.runtime.JspServlet.service(JspServlet.java:822)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at
>
>com.ibm.servlet.engine.webapp.StrictServletInstance.doService(ServletManager.java:626)
> at com.ibm.servlet.engine.webapp.StrictLifecycleServlet.
> _service(StrictLifecycleServlet.java:160)
> at
>
>com.ibm.servlet.engine.webapp.IdleServletState.service(StrictLifecycleServlet.java:287)
> at
>
>com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(StrictLifecycleServlet.java:105)
> at
> com.ibm.servlet.engine.webapp.ServletInstance.service(ServletManager.java:360)
> at
>
>com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(ServletManager.java:775)
> at
>
>com.ibm.servlet.engine.webapp.ServletInstanceReference.dispatch(ServletManager.java:701)
> at
>
>com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:404)
> at
>
>com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:203)
> at
>
>com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:107)
> at
> com.ibm.servlet.engine.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:77)
> at
>
>com.ibm.servlet.engine.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:67)
> at
>
>com.ibm.servlet.engine.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:155)
> at
>
>com.ibm.servlet.engine.oselistener.OSEListenerDispatcher.service(OSEListener.java:300)
> at
>
>com.ibm.servlet.engine.oselistener.SQEventListenerImp$ServiceRunnable.run(SQEventListenerImp.java:230)
> at
>
>com.ibm.servlet.engine.oselistener.SQEventListenerImp.notifySQEvent(SQEventListenerImp.java:104)
> at
>
>com.ibm.servlet.engine.oselistener.serverqueue.SQEventSource.notifyEvent(SQEventSource.java:212)
> at
>
>com.ibm.servlet.engine.oselistener.serverqueue.SQWrapperEventSource$SelectRunnable.notifyService(SQWrapperEventSource.java:353)
> at
>
>com.ibm.servlet.engine.oselistener.serverqueue.SQWrapperEventSource$SelectRunnable.run(SQWrapperEventSource.java:220)
> at
>
>com.ibm.servlet.engine.oselistener.outofproc.OutOfProcThread$CtlRunnable.run(OutOfProcThread.java:248)
> at java.lang.Thread.run(Thread.java:481)
>
> [01.05.21 16:43:16:734 GMT+10:00] 4ddcfe56 ServletInstan X Uncaught service
> () exception root cause {0}: {1}
> "JSP 1.1 Processor"
> java.lang.IllegalArgumentException: cant
> remove Attributes from request scope
> at java.lang.RuntimeException.<init>(RuntimeException.java:49)
> at
> java.lang.IllegalArgumentException.<init>(IllegalArgumentException.java:45)
> at
> org.apache.jasper.runtime.PageContextImpl.removeAttribute(PageContextImpl.java:236)
> at org.apache.struts.taglib.html.FormTag.doEndTag(FormTag.java:591)
> at _t_jsp_0._jspService(_t_jsp_0.java:90)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:127)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at
> org.apache.jasper.runtime.JspServlet$JspServletWrapper.service(JspServlet.java:381)
> at
> org.apache.jasper.runtime.JspServlet.serviceJspFile(JspServlet.java:702)
> at org.apache.jasper.runtime.JspServlet.service(JspServlet.java:822)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at
>
>com.ibm.servlet.engine.webapp.StrictServletInstance.doService(ServletManager.java:626)
> at com.ibm.servlet.engine.webapp.StrictLifecycleServlet.
> _service(StrictLifecycleServlet.java:160)
> at
>
>com.ibm.servlet.engine.webapp.IdleServletState.service(StrictLifecycleServlet.java:287)
> at
>
>com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(StrictLifecycleServlet.java:105)
> at
> com.ibm.servlet.engine.webapp.ServletInstance.service(ServletManager.java:360)
> at
>
>com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(ServletManager.java:775)
> at
>
>com.ibm.servlet.engine.webapp.ServletInstanceReference.dispatch(ServletManager.java:701)
> at
>
>com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:404)
> at
>
>com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:203)
> at
>
>com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:107)
> at
> com.ibm.servlet.engine.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:77)
> at
>
>com.ibm.servlet.engine.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:67)
> at
>
>com.ibm.servlet.engine.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:155)
> at
>
>com.ibm.servlet.engine.oselistener.OSEListenerDispatcher.service(OSEListener.java:300)
> at
>
>com.ibm.servlet.engine.oselistener.SQEventListenerImp$ServiceRunnable.run(SQEventListenerImp.java:230)
> at
>
>com.ibm.servlet.engine.oselistener.SQEventListenerImp.notifySQEvent(SQEventListenerImp.java:104)
> at
>
>com.ibm.servlet.engine.oselistener.serverqueue.SQEventSource.notifyEvent(SQEventSource.java:212)
> at
>
>com.ibm.servlet.engine.oselistener.serverqueue.SQWrapperEventSource$SelectRunnable.notifyService(SQWrapperEventSource.java:353)
> at
>
>com.ibm.servlet.engine.oselistener.serverqueue.SQWrapperEventSource$SelectRunnable.run(SQWrapperEventSource.java:220)
> at
>
>com.ibm.servlet.engine.oselistener.outofproc.OutOfProcThread$CtlRunnable.run(OutOfProcThread.java:248)
> at java.lang.Thread.run(Thread.java:481)
>
> [01.05.21 16:43:16:906 GMT+10:00] 4ddcfe56 WebGroup X [Servlet Error]
> -[{0}]: {1}: {2}
> "JSP 1.1 Processor"
> "Server caught unhandled exception from
> servlet [JSP 1.1 Processor]: cant remove Attributes from request scope"
>
> com.ibm.servlet.engine.webapp.UncaughtServletException: Server caught
> unhandled exception from servlet [JSP 1.1 Processor]: cant remove
> Attributes from request scope
> at javax.servlet.ServletException.<init>(ServletException.java:132)
> at
> com.ibm.websphere.servlet.error.ServletErrorReport.<init>(ServletErrorReport.java:43)
> at
> com.ibm.servlet.engine.webapp.WebAppErrorReport.<init>(WebAppErrorReport.java:32)
> at
>
>com.ibm.servlet.engine.webapp.UncaughtServletException.<init>(UncaughtServletException.java:11)
> at
>
>com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:425)
> at
>
>com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:203)
> at
>
>com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:107)
> at
> com.ibm.servlet.engine.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:77)
> at
>
>com.ibm.servlet.engine.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:67)
> at
>
>com.ibm.servlet.engine.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:155)
> at
>
>com.ibm.servlet.engine.oselistener.OSEListenerDispatcher.service(OSEListener.java:300)
> at
>
>com.ibm.servlet.engine.oselistener.SQEventListenerImp$ServiceRunnable.run(SQEventListenerImp.java:230)
> at
>
>com.ibm.servlet.engine.oselistener.SQEventListenerImp.notifySQEvent(SQEventListenerImp.java:104)
> at
>
>com.ibm.servlet.engine.oselistener.serverqueue.SQEventSource.notifyEvent(SQEventSource.java:212)
> at
>
>com.ibm.servlet.engine.oselistener.serverqueue.SQWrapperEventSource$SelectRunnable.notifyService(SQWrapperEventSource.java:353)
> at
>
>com.ibm.servlet.engine.oselistener.serverqueue.SQWrapperEventSource$SelectRunnable.run(SQWrapperEventSource.java:220)
> at
>
>com.ibm.servlet.engine.oselistener.outofproc.OutOfProcThread$CtlRunnable.run(OutOfProcThread.java:248)
> at java.lang.Thread.run(Thread.java:481)
>
> Regards
> Kelvin
>