I've just been dealing with this sort of issue myself, running MyFaces on Glassfish. It turns out to be a classloading issue that in this case could only be solved by specifying
<class-loader delegate="true"/> in sun-web.xml. This is in fact the default setting but was set to false because I had been following http://weblogs.java.net/blog/2008/12/11/totd-59-alternative-jsf-implementations-glassfish-myfaces-and-tomahawk these instructions in this post by a Sun developer on how to use MyFaces on Glassfish. Regards Nathanael http://www.nonat.com http://www.nonat.com Gerhard Petracek wrote: > > just as information for other users: > > bart told me that the application is open source. so i looked at it and > the > solution is that it was a classloading issue due to the used > module-structure. > the resulting exception is a bit strange, however, after restructuring the > libs of the ear it worked. so it isn't an extval issue. > > regards, > gerhard > > http://www.irian.at > > Your JSF powerhouse - > JSF Consulting, Development and > Courses in English and German > > Professional Support for Apache MyFaces > > > > 2009/9/12 Gerhard Petracek <[email protected]> > >> hi bart, >> >> are you sure that after the step-over of the second line the exception >> occurs? (or is it just the first time this method gets called) >> i'm asking because it looks fine and shouldn't lead to a >> ClassCastException. >> >> regards, >> gerhard >> >> http://www.irian.at >> >> Your JSF powerhouse - >> JSF Consulting, Development and >> Courses in English and German >> >> Professional Support for Apache MyFaces >> >> >> >> 2009/9/12 Bart Kummel <[email protected]> >> >> Hi Gerhard, >>> >>> Please see the attached image, that shows the debug output. >>> >>> Best regards, >>> Bart Kummel >>> >>> >>> >>> >>> On Fri, Sep 11, 2009 at 17:56, Gerhard Petracek < >>> [email protected]> wrote: >>> >>>> hi bart, >>>> >>>> that sounds strange. could you please debug the issue? >>>> first step: set a breakpoint at the first line of >>>> LengthMetaDataTransformer#convertMetaData and have a look what you get >>>> in as >>>> value of the metaDataEntry. >>>> >>>> you should see something like: >>>> @org.apache.myfaces.extensions.validator.baseval.annotation.Length(minimum=3, >>>> maximum=7, ...) >>>> (and for sure something like $Proxy39) >>>> >>>> regards, >>>> gerhard >>>> >>>> http://www.irian.at >>>> >>>> Your JSF powerhouse - >>>> JSF Consulting, Development and >>>> Courses in English and German >>>> >>>> Professional Support for Apache MyFaces >>>> >>>> >>>> >>>> 2009/9/11 Bart Kummel <[email protected]> >>>> >>>> Hi, >>>>> >>>>> I just added MyFaces ExtVal to my existing project, which uses MyFaces >>>>> core, Trinidad and Orchestra. When I try to go to an edit page which >>>>> should >>>>> contain validations generated by ExtVal, I get the following stack >>>>> trace. >>>>> I've no clue what's going on here. Does anybody have an idea? >>>>> >>>>> Best regards, >>>>> Bart Kummel >>>>> >>>>> java.lang.ClassCastException: $Proxy39 cannot be cast to >>>>> org.apache.myfaces.extensions.validator.baseval.annotation.Length >>>>> at >>>>> org.apache.myfaces.extensions.validator.baseval.metadata.transformer.LengthMetaDataTransformer.convertMetaData(LengthMetaDataTransformer.java:41) >>>>> at >>>>> org.apache.myfaces.extensions.validator.core.interceptor.ValidationInterceptor.initComponent(ValidationInterceptor.java:94) >>>>> at >>>>> org.apache.myfaces.extensions.validator.core.interceptor.ValidationInterceptor.beforeEncodeBegin(ValidationInterceptor.java:56) >>>>> at >>>>> org.apache.myfaces.extensions.validator.core.renderkit.ExtValRendererWrapper.encodeBegin(ExtValRendererWrapper.java:208) >>>>> at >>>>> org.apache.myfaces.trinidad.component.UIXComponentBase.encodeBegin(UIXComponentBase.java:716) >>>>> at >>>>> org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:288) >>>>> at >>>>> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelFormLayoutRenderer._encodeFormItem(PanelFormLayoutRenderer.java:878) >>>>> at >>>>> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelFormLayoutRenderer.access$100(PanelFormLayoutRenderer.java:47) >>>>> at >>>>> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelFormLayoutRenderer$FormColumnEncoder.processComponent(PanelFormLayoutRenderer.java:1386) >>>>> at >>>>> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelFormLayoutRenderer$FormColumnEncoder.processComponent(PanelFormLayoutRenderer.java:1305) >>>>> at >>>>> org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:111) >>>>> at >>>>> org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:187) >>>>> at >>>>> org.apache.myfaces.trinidad.component.UIXGroup.processFlattenedChildren(UIXGroup.java:96) >>>>> at >>>>> org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:101) >>>>> at >>>>> org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:187) >>>>> at >>>>> org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:153) >>>>> at >>>>> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelFormLayoutRenderer._encodeChildren(PanelFormLayoutRenderer.java:298) >>>>> at >>>>> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelFormLayoutRenderer.encodeAll(PanelFormLayoutRenderer.java:136) >>>>> at >>>>> org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:224) >>>>> at >>>>> org.apache.myfaces.extensions.validator.core.renderkit.ExtValRendererProxy.encodeEnd(ExtValRendererProxy.java:165) >>>>> at >>>>> org.apache.myfaces.extensions.validator.core.renderkit.ExtValRendererWrapper.encodeEnd(ExtValRendererWrapper.java:409) >>>>> at >>>>> org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:749) >>>>> at >>>>> org.apache.myfaces.trinidad.render.RenderUtils.encodeRecursive(RenderUtils.java:70) >>>>> at >>>>> org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:299) >>>>> at >>>>> org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:321) >>>>> at >>>>> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.renderContent(PanelPartialRootRenderer.java:64) >>>>> at >>>>> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.renderContent(BodyRenderer.java:138) >>>>> at >>>>> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.encodeAll(PanelPartialRootRenderer.java:119) >>>>> at >>>>> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.encodeAll(BodyRenderer.java:78) >>>>> at >>>>> org.apache.myfaces.trinidad.render.CoreRenderer.delegateRenderer(CoreRenderer.java:335) >>>>> at >>>>> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.DocumentRenderer.encodeAll(DocumentRenderer.java:80) >>>>> at >>>>> org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:224) >>>>> at >>>>> org.apache.myfaces.extensions.validator.core.renderkit.ExtValRendererProxy.encodeEnd(ExtValRendererProxy.java:165) >>>>> at >>>>> org.apache.myfaces.extensions.validator.core.renderkit.ExtValRendererWrapper.encodeEnd(ExtValRendererWrapper.java:409) >>>>> at >>>>> org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:749) >>>>> at >>>>> org.apache.myfaces.trinidad.component.UIXComponentBase.__encodeRecursive(UIXComponentBase.java:1368) >>>>> at >>>>> org.apache.myfaces.trinidad.component.UIXComponentBase.encodeAll(UIXComponentBase.java:769) >>>>> at >>>>> javax.faces.component.UIComponent.encodeAll(UIComponent.java:257) >>>>> at >>>>> com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592) >>>>> at >>>>> javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:48) >>>>> at >>>>> org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:188) >>>>> at >>>>> org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41) >>>>> at >>>>> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140) >>>>> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:155) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198) >>>>> at >>>>> org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:238) >>>>> at >>>>> org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:195) >>>>> at >>>>> org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:138) >>>>> at >>>>> org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198) >>>>> at >>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288) >>>>> at >>>>> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271) >>>>> at >>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202) >>>>> at >>>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) >>>>> at >>>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) >>>>> at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94) >>>>> at >>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206) >>>>> at >>>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) >>>>> at >>>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) >>>>> at >>>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) >>>>> at >>>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) >>>>> at >>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150) >>>>> at >>>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) >>>>> at >>>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) >>>>> at >>>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) >>>>> at >>>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) >>>>> at >>>>> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272) >>>>> at >>>>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637) >>>>> at >>>>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568) >>>>> at >>>>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813) >>>>> at >>>>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341) >>>>> at >>>>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263) >>>>> at >>>>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214) >>>>> at >>>>> com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265) >>>>> at >>>>> com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106) >>>>> >>>> >>>> >>> >> > > -- View this message in context: http://www.nabble.com/-ExtVal--ClassCastException-tp25401347p26079749.html Sent from the MyFaces - Users mailing list archive at Nabble.com.

