Skip to Main Content

Java Development Tools

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

EBS To ADF Integration Session Management Using SDK

Srinadh SriJul 22 2016 — edited Jul 24 2016

Hi,

I am facing issues implementing integration of ADF application with EBS. Basically i am trying to use the session shared by EBS in ADF application as mentioned in EBS SDK document (E28169-02) and refered code in https://community.oracle.com/message/10896038 .

But wrappedRequest.getAppsSession()  returns null and getting null pointer exception  at session.getCurrentState().getIcxCookieStatus()

Exception

java.lang.NullPointerException

    at bean.sessionManagePL.beforePhase(sessionManagePL.java:78)

    at oracle.adfinternal.controller.lifecycle.ADFLifecycleImpl$PagePhaseListenerWrapper.beforePhase(ADFLifecycleImpl.java:558)

    at oracle.adfinternal.controller.lifecycle.LifecycleImpl.internalDispatchBeforeEvent(LifecycleImpl.java:100)

    at oracle.adfinternal.controller.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:191)

    at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.startPageLifecycle(ADFPhaseListener.java:197)

    at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener$1.after(ADFPhaseListener.java:369)

    at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.afterPhase(ADFPhaseListener.java:88)

    at oracle.adfinternal.controller.faces.lifecycle.ADFLifecyclePhaseListener.afterPhase(ADFLifecyclePhaseListener.java:53)

    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:532)

    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:219)

    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)

    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:211)

    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

    at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:128)

    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.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:324)

    at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)

    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:163)

    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)

If i pass true parameter to getAppsSession

Session session = wrappedRequest.getAppsSession(true);

then it's giving bellow error

java.sql.SQLException: ORA-20001: Oracle error -20001: ORA-20001: Oracle error -2074: ORA-02074: cannot SET NLS in a distributed transaction

has been detected in fnd_global.set_nls.set_parameter('NLS_LANGUAGE','AMERICAN').

has been detected in fnd_global.set_nls.

ORA-06512: at "APPS.APP_EXCEPTION", line 72

ORA-06512: at "APPS.FND_GLOBAL", line 271

ORA-06512: at "APPS.FND_GLOBAL", line 1575

ORA-06512: at "APPS.FND_GLOBAL", line 1603

ORA-06512: at "APPS.FND_SESSION_MANAGEMENT", line 1053

ORA-06512: at "APPS.FND_SESSION_MANAGEMENT", line 1299

ORA-06512: at "APPS.FND_AOLJ_UTIL", line 433

ORA-06512: at "APPS.FND_AOLJ_UTIL", line 241

ORA-06512: at line 1

Please help me

Thanks in advance,

Srinadh.

public class sessionManagePL implements PagePhaseListener {

    public sessionManagePL() {

        super();

    }

    AppsRequestWrapper wrappedRequest = null;

   HttpServletRequest request = null;

    HttpServletResponse response = null;

    String currentUser = null;

    String currentUserId = null;

  

public void beforePhase(PagePhaseEvent pagePhaseEvent) {

        if (pagePhaseEvent.getPhaseId() == Lifecycle.INIT_CONTEXT_ID) {

            String agent = null;

            System.out.println("In before Phase");

            FacesContext fctx = FacesContext.getCurrentInstance();

            request =

                    (HttpServletRequest)fctx.getExternalContext().getRequest();

            response =

                    (HttpServletResponse)fctx.getExternalContext().getResponse();

            CookieStatus icxCookieStatus = null;

           

           

            try {

                Connection EBSconn = ConnectionProvider.getConnection();

                EBiz instance = EBizUtil.getEBizInstance();

                wrappedRequest =

                        new AppsRequestWrapper(request, response, EBSconn,

                                               instance);

                System.out.println("Wrapped Request"+wrappedRequest);

                Session session = wrappedRequest.getAppsSession();

                System.out.println("Session"+session);

                icxCookieStatus =

                        session.getCurrentState().getIcxCookieStatus();

                agent = wrappedRequest.getEbizInstance().getAppsServletAgent();

                if (!icxCookieStatus.equals(CookieStatus.VALID)) {

                    response.sendRedirect(agent + "AppsLocalLogin.jsp");

                    return;

                }

                currentUser = session.getUserName();

                System.out.println(""+currentUser);

                currentUserId = session.getUserId();

               

            } catch (Exception ob) {

                ob.printStackTrace();

                try {

                    response.sendRedirect("http://ab.abc.net:8090/OA_HTML/OA.jsp?OAFunc=OAHOMEPAGE");                 

                    return;

                } catch (IOException e) {

                }

              

            }

            FacesMessage message =

                new FacesMessage("Session is : " + icxCookieStatus + " " +

                                 currentUser + " " + currentUserId);

            fctx.addMessage(null, message);

        }

    }

}

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Aug 21 2016
Added on Jul 22 2016
3 comments
326 views