E-Business Suite Integrated with OAM 11g: User gets “An error occurred” when trying login page

This post covers high level steps about Oracle E-Business Suite(R12) integration with OAM for SSO from our EBS-OAM Integration Training.

High level steps about Oracle E-Business Suite(R12) integration with OAM for SSO:

1) Integrating E-Business Suite with OID for user provisioning

2) Integrating OAM with OID as Identity store for authentication

3) Previsioning webgate as agent with oam for request delegation

4) Access gate application deployment to act as channel between webgate and EBusiness suite

AccessGate is a Java application responsible for mapping a single sign-on user to an Oracle E-Business Suite user, and creating the Oracle E-Business Suite session for that user. This application is deployed to a WebLogic Server , and is separate from Oracle E-Business Suite.

When a user request for a protected E-Business Suite, he is presented with login page residing on access gate servers. Each time access to this access gate application is requested, it make a connection with E-Business suite database.

Issue:-  E-Business integrated with SSO (OAM 11g) works for 3-4 hours  and after that for every new login request to E-Business suite, users gets “An error occurred “ blank page.

This error occurs at time of presenting OAMLogin.jsp to user.

Accessgate log file (You define LoginConfig.properties parameter at time of access gate deployment, this file will contain location of Access Gate log file, by default log file goes to, /tmp/fndauth<n>.log )  shows errors as:-

FINE: EBizHelper::getEBizInstance()- SANITY_CHECK_SQL attempt 2

Oct 25, 2011 12:58:32 PM oracle.apps.fnd.ext.common.server.EBizHelper getEBizInstance
SEVERE: Fatal error while SANITY_CHECK_SQL checking ==>
java.sql.SQLRecoverableException: Closed Connection
at
oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:4364)

at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:4137)
at oracle.jdbc.OracleConnectionWrapper.prepareStatement(OracleConnectionWrapper.java:117)
at

Troubleshooting steps

Check DB log files- No error reported

Check R12 Oacore log files- No errors related to oamlogin.jsp reported.

Enable Debug in Access gate datasources– shows:-

[weblogic.jdbc.wrapper.PreparedStatement_oracle_jdbc_driver_OraclePreparedStatementWrapper@1a7] executeQuery(unknown) throws: java.sql.SQLRecoverableException: IO Error: Connection reset
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1106)
oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3806).java:85)
at oracle.apps.fnd.ext.common.server.EBizHelper.getEBizInstance(Unknown Source)
at jsp_servlet.__oamlogin._jspService(__oamlogin.java:312)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at Caused by: java.net.SocketException: Connection reset
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:96)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at oracle.net.ns.DataPacket.send(DataPacket.java:202)

Cause– Connections used from the JDBC pool need to be closed after usage by the application code. If close() is not called, connections are not freed and not available for reuse , hence, any new connection request will result in timeout, giving fndauth error to user as it cant reach oamlogin.jsp page.

Solution:-Edit Access Gate Data sources from console to set parameters as below:-

1.Increase value of  “Maximum Capacity” parameter as per number of concurrent sessions expected for application.
2. In the Advanced section, make the following changes (if not already set)

     a. Check the box “Test Connections On Reserve

     b. “Test Frequency” =<set value as per your environment requirement>

c. “Test Table Name” = SQL SELECT 1 FROM DUAL

3. Re-start the eBiz AccessGate Managed Servers and Admin Server to ensure the change takes effect

Explanation

MaxCapacity parameter  allows enough concurrently active database connections as needed by the application.

If the data source is configured to test connections on reserve, when an application requests a database connection, WebLogic Server tests the connection, discovers that the connection is dead, and tries to replace it with a new connection to satisfy the request. Ordinarily, when the DBMS comes back online, the refresh process succeeds

We provided a dedicated module for Troubleshooting where we cover Logging in WebGate, OHS, EBS Accessgate, DIP, OAM, and OID in our EBS-OAM/OID Integration Training, more about training here

If you have not yet downloaded FREE eBook – 7 Docs every Oracle Apps DBA must read for EBS R12 integration with OAM/OID for SSO get a copy in your Email

banner__

About the Author Masroof Ahmad

Leave a Comment:

16 comments
Add Your Reply