قناة معلومة بتاريخ: 18 يناير 2018 تقديم بلاغ مشاركة بتاريخ: 18 يناير 2018 الاخوة الأفاضل لدي مشكلة وغجزت عن حلها والمشكلة هي كالتالي بالتفصيل قمت ببناء مشروع على jdeveloper 11 وعند تحويله الى نسخة احدث 12c 12.1.3 تم التحويل من دون مشاكل ولكن عندما حولت الى 12c 12.2.1.2 يعطي خطأ وقت التنفيذ والخطأ هو كالتالي : Target URL -- http://127.0.0.1:7101/CPSWebApp-ViewController-context-root/faces/Login.jsf<org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl> <ViewHandlerImpl> <_isTimestampCheckEnabled> <Apache Trinidad is running with time-stamp checking enabled. This should not be used in a production environment. See the org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION property in WEB-INF/web.xml><oracle.adf.controller> <ManagedBeanFactory> <warnIfNotSerializable> <ADFc: Managed bean loginMB, implemented by com.EXPT.CPS.managedbeans.LoginClass, defined in /WEB-INF/adfc-config.xml, does not implement Serializable and will be placed in session scope, which might be serialized.><org.apache.myfaces.trinidadinternal.style.xml.parse.StyleSheetDocument> <StyleSheetDocument> <_resolveStyleNode> <Circular dependency detected in style af|dvt-timeline><oracle.adf.view> <PanelStretchLayoutRenderer> <_getCSSLength> <Circular dependency detected in the geometry management configuration of component id psl2.> Error 500--Internal Server Error javax.el.ELException: //C:/Users/aymanh.MNE/AppData/Roaming/JDeveloper/system12.2.1.2.42.170105.1224/o.j2ee/drs/CPSWebApp/ViewControllerWebApp.war/Login.jsf @46,84 actionListener="#{loginMB.getLogin}": java.lang.NullPointerException at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:111) at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:147) at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88) at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcast(UIXComponentBase.java:1127) at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:179) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._invokeApplication(LifecycleImpl.java:1243) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executeInvokeApplication(LifecycleImpl.java:686) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:364) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:227) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:650) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:286) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:260) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:137) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:350) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:207) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:105) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:529) at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:529) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:354) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:232) at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:141) 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:650) at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:124) at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:232) at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:94) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:248) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:32) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3683) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3649) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326) at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:197) at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203) at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71) at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2433) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2281) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2259) at weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1691) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1651) at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:270) at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:348) at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:333) at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:54) at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41) at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:640) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:406) at weblogic.work.ExecuteThread.run(ExecuteThread.java:346)Caused by: java.lang.NullPointerException at com.EXPT.CPS.managedbeans.LoginClass.isOwnerAutorized(LoginClass.java:702) at com.EXPT.CPS.managedbeans.LoginClass.getLogin(LoginClass.java:661) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.sun.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:181) at com.sun.el.parser.AstValue.invoke(AstValue.java:289) at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304) at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) ... 58 more وهو يقوم بترجيع قيمة null على ما يبدو وبالتحديد في ال class public static AppModuleImpl getAm() { FacesContext fc = FacesContext.getCurrentInstance(); Application app = fc.getApplication(); ExpressionFactory elFactory = app.getExpressionFactory(); ELContext elContext = fc.getELContext(); ValueExpression valueExp = elFactory.createValueExpression(elContext, "#{data.AppModuleDataControl1.dataProvider}", Object.class); System.out.println("of seq is " + (AppModuleImpl)valueExp.getValue(elContext)); System.out.println("of elContext is " + (elContext)); System.out.println("of valueExp is " + (valueExp)); return (AppModuleImpl)valueExp.getValue(elContext); } بالتحديد في الجملة التالية ValueExpression valueExp = elFactory.createValueExpression(elContext, "#{data.AppModuleDataControl1.dataProvider}", Object.class); مع العلم انها تعمل في النيسخ الأخرى القديمة الرجاء الافادة 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sd4it بتاريخ: 19 يناير 2018 تقديم بلاغ مشاركة بتاريخ: 19 يناير 2018 هل اسم data control صحيح؟ هل هو فعلاً AppModuleDataControl1 بوجود 1؟ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
قناة معلومة بتاريخ: 19 يناير 2018 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 19 يناير 2018 نعم صحيح مية بالمية اسم data control يوجد رقم 1 في اخرها وهي نفسها تعمل في النسخة الأقدم من jdeveloper اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sd4it بتاريخ: 20 يناير 2018 تقديم بلاغ مشاركة بتاريخ: 20 يناير 2018 أي نسخة بالضبط كنت تستخدم وأي نسخة تستخدم الآن؟ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
قناة معلومة بتاريخ: 21 يناير 2018 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 21 يناير 2018 كنت استخدم نسخة 12C (12.1.3.0.0) وكانت تعمل من دون أي مشكلة وعند تحويلها للنسخة 12C (12.2.1.2.0) أصبح يظهر الخطأ المذكور وقت التنفيذ ولم أتصل لحل لحد هذه اللحظة أي أن الجملة التالية ValueExpression valueExp = elFactory.createValueExpression(elContext, "#{data.AppModuleDataControl1.dataProvider}", Object.class); ترجع قيمة null NullPointerException اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sd4it بتاريخ: 21 يناير 2018 تقديم بلاغ مشاركة بتاريخ: 21 يناير 2018 تأكد من وجوده في page definition اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
قناة معلومة بتاريخ: 21 يناير 2018 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 21 يناير 2018 موجود والدليل انه يعمل بالنسخة التي سبقت هذه النسخة اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sd4it بتاريخ: 22 يناير 2018 تقديم بلاغ مشاركة بتاريخ: 22 يناير 2018 حسناً جرب الكود التالي FacesContext ctx = FacesContext.getCurrentInstance(); Application app = ctx.getApplication(); ValueBinding bind = app.createValueBinding("#{data.AppModuleDataControl.dataProvider}"); Object obj = bind.getValue(ctx); AppModuleImpl am = (AppModuleImpl) obj; اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.