الانتقال إلى المحتوى

بخصوص مشكلة في ال Adf


قناة معلومة

Recommended Posts

الاخوة الأفاضل

لدي مشكلة وغجزت عن حلها والمشكلة هي كالتالي بالتفصيل 

قمت ببناء مشروع على 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);

 

مع العلم انها تعمل في النيسخ الأخرى القديمة

الرجاء الافادة

رابط هذا التعليق
شارك

 

كنت استخدم نسخة

12C (12.1.3.0.0) 

وكانت تعمل من دون أي مشكلة

 

 

وعند تحويلها للنسخة

12C (12.2.1.2.0) 

  أصبح يظهر الخطأ المذكور وقت التنفيذ ولم أتصل لحل لحد هذه اللحظة

أي أن الجملة التالية

 

 

  ValueExpression valueExp =

            elFactory.createValueExpression(elContext, "#{data.AppModuleDataControl1.dataProvider}", Object.class);

 

ترجع قيمة null

NullPointerException

 

رابط هذا التعليق
شارك

حسناً جرب الكود التالي

      FacesContext ctx = FacesContext.getCurrentInstance();
      Application app = ctx.getApplication();
      ValueBinding bind = app.createValueBinding("#{data.AppModuleDataControl.dataProvider}");
      Object obj = bind.getValue(ctx);
      AppModuleImpl am = (AppModuleImpl) obj;
رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية