Take a look at your jar files, specifically for struts.jar. Make sure it is only available in yourApp/WEB-INF/lib directory and not in you JDK_PATH/jre/lib/ext or TOMCAT_ROOT/lib or TOMCAT_ROOT/commons/lib.
Mark. -----Original Message----- From: hemant [mailto:[EMAIL PROTECTED]] Sent: Wednesday, April 03, 2002 10:29 AM To: struts Subject: Frustrating ClassCastException I am currently using Tomcat 4.0.1 in a VisualAge 3.5.3 environment with struts 1.0.2. Here is the scenario. I run both "struts-example" webapp and my "application" webapp, everything works out fine. JSP's and Java files are created in the work directory in Tomcat and everything is hunky dory. Now I stop Tomcat and bring it backup and then attempt to test the struts-example webapp. It works well. Now when I run my web app, I get a ClassCast Exception. Looks like it is caused by ActionForm. But All my ActionForm's blissfully extend org.apache.struts.action.ActionForm. Everything except struts-config and web.xml is the same in both webapps. What could be wrong? Thanks for your time hemant ---------------------------------------------------------------------------- -------------- java.lang.ClassCastException java.lang.Throwable() java.lang.Exception() java.lang.RuntimeException() java.lang.ClassCastException() org.apache.struts.action.ActionForm org.apache.struts.action.ActionServlet.processActionForm(org.apache.struts.a ction.ActionMapping, javax.servlet.http.HttpServletRequest) org.apache.struts.action.ActionForm org.apache.struts.action.ActionServlet.processActionForm(org.apache.struts.a ction.ActionMapping, javax.servlet.http.HttpServletRequest) void org.apache.struts.action.ActionServlet.process(javax.servlet.http.HttpServle tRequest, javax.servlet.http.HttpServletResponse) void org.apache.struts.action.ActionServlet.doPost(javax.servlet.http.HttpServlet Request, javax.servlet.http.HttpServletResponse) void javax.servlet.http.HttpServlet.service(javax.servlet.http.HttpServletRequest , javax.servlet.http.HttpServletResponse) void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse) void org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(javax.servl et.ServletRequest, javax.servlet.ServletResponse) void org.apache.catalina.core.ApplicationFilterChain.doFilter(javax.servlet.Servl etRequest, javax.servlet.ServletResponse) void org.apache.catalina.core.StandardWrapperValve.invoke(org.apache.catalina.Req uest, org.apache.catalina.Response, org.apache.catalina.ValveContext) void org.apache.catalina.core.StandardPipeline.invokeNext(org.apache.catalina.Req uest, org.apache.catalina.Response) void org.apache.catalina.core.StandardPipeline.invoke(org.apache.catalina.Request , org.apache.catalina.Response) void org.apache.catalina.core.ContainerBase.invoke(org.apache.catalina.Request, org.apache.catalina.Response) void org.apache.catalina.core.StandardContextValve.invoke(org.apache.catalina.Req uest, org.apache.catalina.Response, org.apache.catalina.ValveContext) void org.apache.catalina.core.StandardPipeline.invokeNext(org.apache.catalina.Req uest, org.apache.catalina.Response) void org.apache.catalina.core.StandardPipeline.invoke(org.apache.catalina.Request , org.apache.catalina.Response) void org.apache.catalina.core.ContainerBase.invoke(org.apache.catalina.Request, org.apache.catalina.Response) void org.apache.catalina.core.StandardContext.invoke(org.apache.catalina.Request, org.apache.catalina.Response) void org.apache.catalina.core.StandardHostValve.invoke(org.apache.catalina.Reques t, org.apache.catalina.Response, org.apache.catalina.ValveContext) void org.apache.catalina.core.StandardPipeline.invokeNext(org.apache.catalina.Req uest, org.apache.catalina.Response) void org.apache.catalina.valves.ErrorDispatcherValve.invoke(org.apache.catalina.R equest, org.apache.catalina.Response, org.apache.catalina.ValveContext) void org.apache.catalina.core.StandardPipeline.invokeNext(org.apache.catalina.Req uest, org.apache.catalina.Response) void org.apache.catalina.valves.ErrorReportValve.invoke(org.apache.catalina.Reque st, org.apache.catalina.Response, org.apache.catalina.ValveContext) void org.apache.catalina.core.StandardPipeline.invokeNext(org.apache.catalina.Req uest, org.apache.catalina.Response) void org.apache.catalina.valves.AccessLogValve.invoke(org.apache.catalina.Request , org.apache.catalina.Response, org.apache.catalina.ValveContext) void org.apache.catalina.core.StandardPipeline.invokeNext(org.apache.catalina.Req uest, org.apache.catalina.Response) void org.apache.catalina.core.StandardPipeline.invoke(org.apache.catalina.Request , org.apache.catalina.Response) void org.apache.catalina.core.ContainerBase.invoke(org.apache.catalina.Request, org.apache.catalina.Response) void org.apache.catalina.core.StandardEngineValve.invoke(org.apache.catalina.Requ est, org.apache.catalina.Response, org.apache.catalina.ValveContext) void org.apache.catalina.core.StandardPipeline.invokeNext(org.apache.catalina.Req uest, org.apache.catalina.Response) void org.apache.catalina.core.StandardPipeline.invoke(org.apache.catalina.Request , org.apache.catalina.Response) void org.apache.catalina.core.ContainerBase.invoke(org.apache.catalina.Request, org.apache.catalina.Response) void org.apache.catalina.connector.http.HttpProcessor.process(java.net.Socket) void org.apache.catalina.connector.http.HttpProcessor.run() void java.lang.Thread.run() ------------------------------------------------------------------------------ This message is intended only for the personal and confidential use of the designated recipient(s) named above. If you are not the intended recipient of this message you are hereby notified that any review, dissemination, distribution or copying of this message is strictly prohibited. This communication is for information purposes only and should not be regarded as an offer to sell or as a solicitation of an offer to buy any financial product, an official confirmation of any transaction, or as an official statement of Lehman Brothers. Email transmission cannot be guaranteed to be secure or error-free. Therefore, we do not represent that this information is complete or accurate and it should not be relied upon as such. All information is subject to change without notice. -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>