[ https://issues.apache.org/jira/browse/GERONIMO-3182?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexander Zynevich updated GERONIMO-3182: ----------------------------------------- Attachment: geronimo-servlet_2.5_fix.zip I appied this quick and dirty (zip-level) fix, and that is the difference: 18:12:09,468 ERROR [[Faces Servlet]] Servlet.service() for servlet Faces Servlet threw exception java.lang.IllegalArgumentException: Cannot convert [EMAIL PROTECTED] of type class $Proxy21 to class com.ibm.demo.managers.UserManagerImpl at org.apache.el.lang.ELSupport.coerceToType(ELSupport.java:374) at org.apache.el.ExpressionFactoryImpl.coerceToType(ExpressionFactoryImpl.java:46) at org.apache.myfaces.config.ManagedBeanBuilder.coerceToType(ManagedBeanBuilder.java:272) at org.apache.myfaces.config.ManagedBeanBuilder.initializeProperties(ManagedBeanBuilder.java:255) at org.apache.myfaces.config.ManagedBeanBuilder.buildManagedBean(ManagedBeanBuilder.java:88) at org.apache.myfaces.el.unified.resolver.ManagedBeanResolver.createManagedBean(ManagedBeanResolver.java:196) at org.apache.myfaces.el.unified.resolver.ManagedBeanResolver.getValue(ManagedBeanResolver.java:162) at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53) at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.access$301(FacesCompositeELResolver.java:46) at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver$4.invoke(FacesCompositeELResolver.java:108) at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.invoke(FacesCompositeELResolver.java:148) at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:104) at org.apache.myfaces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:61) at org.springframework.web.jsf.DelegatingVariableResolver.resolveVariable(DelegatingVariableResolver.java:108) at org.apache.myfaces.el.convert.VariableResolverToELResolver.getValue(VariableResolverToELResolver.java:93) at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53) at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.access$301(FacesCompositeELResolver.java:46) at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver$4.invoke(FacesCompositeELResolver.java:108) at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.invoke(FacesCompositeELResolver.java:148) at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:104) at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:45) at org.apache.el.parser.AstValue.getValue(AstValue.java:86) at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101) at javax.faces.component.UIOutput.getValue(UIOutput.java:68) at org.apache.myfaces.shared_impl.renderkit.RendererUtils.getStringValue(RendererUtils.java:224) at org.apache.myfaces.shared_impl.renderkit.html.HtmlTextRendererBase.renderInput(HtmlTextRendererBase.java:139) at org.apache.myfaces.shared_impl.renderkit.html.HtmlTextRendererBase.encodeEnd(HtmlTextRendererBase.java:54) at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:539) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:250) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:247) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:247) at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:308) at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41) at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.ibm.democrm.common.AuthorizationFilter.doFilter(AuthorizationFilter.java:70) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke(DefaultSubjectValve.java:56) at org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:358) at org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:47) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:543) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:238) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445) at java.lang.Thread.run(Thread.java:619) > Damned servlet exception in Geronimo - bad stack trace. > ------------------------------------------------------- > > Key: GERONIMO-3182 > URL: https://issues.apache.org/jira/browse/GERONIMO-3182 > Project: Geronimo > Issue Type: Bug > Security Level: public(Regular issues) > Components: web > Affects Versions: 2.0-M6 > Reporter: Alexander Zynevich > Attachments: geronimo-servlet_2.5_fix.zip, ServletException.jad > > > I trying to make JSF application working and get error messages like this in > log: > javax.servlet.ServletException: Cannot convert [EMAIL PROTECTED] of type > class $Proxy34 to class com.ibm.demo.managers.UserManagerImpl for bean > 'SignonBean' check the configuration to make sure all properties correspond > with get/set methods > at javax.faces.webapp.FacesServlet.service(FacesServlet.java:152) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > at > com.ibm.democrm.common.AuthorizationFilter.doFilter(AuthorizationFilter.java:70) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) > at > org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke(DefaultSubjectValve.java:56) > at > org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:358) > at > org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:47) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:543) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:238) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634) > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445) > at java.lang.Thread.run(Thread.java:619) > The problem is NOT this exception but in the way it presented. > This exception is wrapping some runtime or app-specific exception into > Servlet exception. But geronimo is bundled with > /org.apache.geronimo.specs/geronimo-servlet_2.5_spec// which has servlet > exception as: > public class ServletException extends Exception > { > public ServletException() > { > } > public ServletException(String message) > { > super(message); > } > public ServletException(String message, Throwable rootCause) > { > super(message); > this.rootCause = rootCause; > } > public ServletException(Throwable rootCause) > { > super(rootCause.getLocalizedMessage()); > this.rootCause = rootCause; > } > public Throwable getRootCause() > { > return rootCause; > } > private Throwable rootCause; > } > which of course does not expose class name and stack trace of wrapped > exception (I decompile exactly from > /org.apache.geronimo.specs/geronimo-servlet_2.5_spec/1.1-SNAPSHOT/) > It makes stack trace absolutely unuseful! > My expectation is that ServletException should be the same as the latest > revision in Tomcat project: > http://svn.apache.org/viewvc?view=rev&revision=467995 > where the "rootCause" is hadled as "cause" in wrapping constructor of > java.lang.Execption. > I am going to substitute this class in jar manually, to bypass it. > Of course I understand that this is because of Maven-build-ideology of > Geronimo and real *bug* is in > /org.apache.geronimo.specs/geronimo-servlet_2.5_spec/1.1-SNAPSHOT/ artifact. > On the othet hand this is very anoying! Could somebody fix centrally? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.