Bean Validation ADF и myFaces extVal на weblogic 10.3.6

Я пытался использовать myFaces extVal Bean Validation в Weblogic 10.3.6 (JSF 1.2, исправлен JPA до 2.0) и с ADF Faces. Можно ли использовать «ADF Faces» и «Apache myFaces extVal Bean Validation» вместе в Weblogic 10.3.6?

Я пытался добавить следующие библиотеки:

asm-1.5.3.jar
cglib-2.1_3.jar
myfaces-extval-bean-validation-1.2.5.jar
myfaces-extval-core-1.2.5.jar
myfaces-extval-property-validation-1.2.5.jar
myfaces-extval-trinidad-support-1.2.5.jar
validation-api-1.0.0.GA.jar

Результатом является следующее исключение:

java.lang.ClassCastException:    
org.apache.myfaces.trinidadinternal.renderkit.core.CoreRenderingContext cannot be cast to oracle.adf.view.rich.render.RichRenderingContext
at oracle.adf.view.rich.render.RichRenderer.getRichRenderingContext(RichRenderer.java:1230)
at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1259)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:341)
at org.apache.myfaces.extensions.validator.core.renderkit.ExtValLazyRendererProxy.encodeEnd(ExtValLazyRendererProxy.java:77)
at org.apache.myfaces.extensions.validator.core.renderkit.ExtValRendererWrapper.encodeEnd(ExtValRendererWrapper.java:312)
at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:933)
at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:266)
at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:197)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:189)
at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:193)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:911)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:367)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:222)
at org.apache.myfaces.extensions.validator.core.startup.ExtValLifecycleWrapper.render(ExtValLifecycleWrapper.java:79)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:179)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

Итак, причина в том, что я перепутал реализацию ADF с реализацией myFaces, верно? Поэтому я полагаю, что нельзя использовать extVal для JSF 1.2 с ADF на Weblogic 10.3.6.

Я видел следующий сайт: http://buttso.blogspot.de/2011/05/jsf-20-jpa-20-and-bean-validation-on.html В Weblogic 10.3 используются JSF 2.0, JPA 2.0 и BeanValidation. Так что в моем случае невозможно использовать JSF 2.0. И я должен использовать ADF (Faces).

Я просто хочу убедиться, что нет никакой другой возможности заставить его работать.

С уважением,

Максимум


person Max    schedule 04.09.2012    source источник


Ответы (1)


«Там JSF 2.0, JPA 2.0 и BeanValidation используются в Weblogic 10.3. Так что в моем случае невозможно использовать JSF 2.0. И мне приходится использовать ADF (Faces)».

На самом деле это JDeveloper 11g R2 (11.1.2.2), который поддерживает JSF 2.0 с ADF Faces. Хотя JDeveloper 11g R2 основан на WLS 10.3.6, для его работы требуется специальный патч от службы поддержки клиентов. Таким образом, вы можете перейти на JSF 2.0 и ADF Faces, но вам нужна специальная версия JDeveloper (таким образом, ADF Faces) и патч

person Frank Nimphius-Oracle    schedule 05.09.2012