Oracle Apps EBS R12.2 Login Flow

EBS R12.2 Login Flow

EBS Architecture
When a HTTP request is made for EBS, the request is received by the Oracle HTTP Server (OHS).
When the configuration of OHS is for a resource that needs to be processed by Java, such as logging into EBS, the OHS configuration will redirect the request to the Web Logic Server (WLS) Java process (OACore in this case).
WLS determines the J2EE application that should deal with the request, which is called "oacore".
This J2EE application needs to be deployed and available for processing requests in order for the request to succeed.   The J2EE application needs to access a database and does this via a datasource which is configured within WLS.


Login HTTP headers

When the EBS login works OK, the browser will be redirected to various different URLs in order for the login page to be displayed.  The page flow below shows the URLs that will be called to display the login page:
/OA_HTML/AppsLogin
EBS Login URL
/OA_HTML/AppsLocalLogin.jsp
Redirects to local login page
/OA_HTML/RF.jsp?function_id=1032925&resp_id=-1&resp_appl_id=-1&security_group_id=0&lang_code=US&oas=3TQG_dtTW1oYy7P5_6r9ag..&params=5LEnOA6Dde-bxji7iwlQUg
Renders the login page
The URLs after the user enters username and password, then clicks the "login" button are shown below:
/OA_HTML/OA.jsp?page=/oracle/apps/fnd/sso/login/webui/MainLoginPG&_ri=0&_ti=640290175&language_code=US&requestUrl=&oapc=2&oas=4hoZpUbqVSrv9IE0iJdY1g..
/OA_HTML/OA.jsp?OAFunc=OANEWHOMEPAGE
/OA_HTML/RF.jsp?function_id=MAINMENUREST&security_group_id=0
Renders user home page
 Once the users home page is displayed, the logout flow also redirects to several different URL before returning to the login page:
/OA_HTML/OALogout.jsp?menu=Y
Logout icon has been clicked
/OA_HTML/AppsLogout
/OA_HTML/AppsLocalLogin.jsp?langCode=US&_logoutRedirect=y
Redirects to the login page
/OA_HTML/RF.jsp?function_id=1032925&resp_id=-1&resp_appl_id=-1&security_group_id=0&lang_code=US&oas=r6JPtR7-a4n5U2H3--ytEg..&params=1JU-PCsoyAO7NMAeJQ.9N6auZoBnO8UYYXjUgSPLHdpzU3015KGHA668whNgEIQ4
Renders login page again

When things go wrong, the user will see different error messages, depending on which component is failing:


OHS (apache) failure

If OHS is not running or not responding, one would see a message as below. If OHS is not running then there will not be any messages in any EBS log file for this request.
Firefox: "The connection was reset"
 Firefox error when OHS is down
IE: "Internet Explorer cannot display the webpage"
Internet Explorer error when OHS is down

Steps to take

  • Check OHS has started OK


OACore JVM process not available

If the OACore JVM is not running or not reachable, then one will likely see the following message in the browser:
Failure of server APACHE bridge:
No backend server available for connection: timed out after 10 seconds or idempotent set to OFF or method not idempotent.
Error when OACore JVM is down
The access_log will show a status 503 for the request:
GET /OA_HTML/AppsLogin HTTP/1.1" 503
The Apache EBS_web_EBSDB.log will show message similar to below:
[2015-02-27T14:07:13.2436+00:00] [OHS] [ERROR:32] [OHS-9999] [core.c] [client_id: 10.0.2.2] [host_id: apps.example.com] [host_addr: 127.0.0.1] [tid: 139762998388480] [user: applmgr] [ecid: 005419Y0FIhFw000jzwkno0003rf00000L] [rid: 0] [VirtualHost: main] ap_proxy: trying GET /OA_HTML/AppsLogin at backend host '127.0.0.1/7202; got exception 'CONNECTION_REFUSED [os error=115, line 1602 of URL.cpp]: apr_socket_connect call failed with error=111, host=127.0.0.1, port=7202 '

 Steps to take

  • Make sure the OACore JVM has started correctly 
  • Check mod_wl_ohs.conf file is configured correctly.  Refer "Managing Configuration of Oracle HTTP Server and Web Application Services in Oracle E-Business Suite Release 12.2"  for details how to add or remove managed servers in EBS


oacore J2EE application not available

There may be cases where the OACore JVM is running and reachable but the oacore application is not available.
The browser will report the error:
Error 404--Not Found
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
10.4.5 404 Not Found
The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent.
Access_log will show 404 error:
GET /OA_HTML/AppsLogin HTTP/1.1" 404

oacore J2EE application is down

 Steps to take

  • In the FMW Console check the "deployments" to confirm the "oacore" application is at status "Active" and Health is "OK".


Datasource failure

If the datasource has some issue, for example is not deployed into the oacore_server1 managed server, then the browser will show error message:
 Datasource not targetted
access_log shows status 200
GET /OA_HTML/AppsLogin HTTP/1.1" 200
oacore_server1.out file may show messages such as:
<Feb 27, 2015 4:25:31 PM GMT> <Error> <ServletContext-/OA_HTML> <BEA-000000> <Logging call failed exception::
java.lang.NullPointerException
at oracle.apps.fnd.sso.AppsLoginRedirect.logSafe(AppsLoginRedirect.java:639)
at oracle.apps.fnd.sso.AppsLoginRedirect.doGet(AppsLoginRedirect.java:1314)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
oacore_server1.log one may see messages such as:
####<Feb 27, 2015 4:25:03 PM GMT> <Warning> <Common> <apps.example.com> <oacore_server1> <[STANDBY] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <9c1aa611489043da:-5160f293:14bcbce2adc:-8000-0000000000000036> <1425054303663> <BEA-000632> <Resource Pool "EBSDataSource" shutting down, ignoring 1 resources still in use by applications..>
....
....
####<Feb 27, 2015 4:25:06 PM GMT> <Error> <ServletContext-/OA_HTML> <apps.example.com> <oacore_server1> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <00541HFi3vwFw000jzwkno0005Qe00001O> <1425054306432> <BEA-000000> <Logging call failed exception::
java.lang.NullPointerException
at oracle.apps.fnd.sso.AppsLoginRedirect.logSafe(AppsLoginRedirect.java:639)
at oracle.apps.fnd.sso.AppsLoginRedirect.doGet(AppsLoginRedirect.java:1297)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)

Steps to take

  • Review the EBS Datasource and make sure it is targetted to the oacore_cluster1 managed server.   Also use the "Test Datasource" option to confirm database connection can be made
    • If one makes any changes, one will need to restart the managed server, despite FMW Console saying no restart is necessary.


RDBMS failure

If there is some problem with accessing the database, either the listener or database is down or not responding then the browser will show an error message:
Database or Listener down 

The access_log shows status 200 for the request:
GET /OA_HTML/AppsLogin HTTP/1.1" 200

The oacore_server1.out and oacore_server1.log shows errors as below:
<Mar 2, 2015 11:03:18 AM GMT> <Error> <JDBC> <BEA-001112> <Test "Begin null; End ;" set up for pool "EBSDataSource" failed with exception: "java.sql.SQLRecoverableException: No more data to read from socket".>
<Mar 2, 2015 11:03:18 AM GMT> <Warning> <JDBC> <BEA-001129> <Received exception while creating connection for pool "EBSDataSource": IO Error: Got minus one from a read call.>
<Mar 2, 2015 11:03:25 AM GMT> <Error> <ServletContext-/OA_HTML> <BEA-000000> <Logging call failed exception::
java.lang.NullPointerException
at oracle.apps.fnd.sso.AppsLoginRedirect.logSafe(AppsLoginRedirect.java:639)
at oracle.apps.fnd.sso.AppsLoginRedirect.doGet(AppsLoginRedirect.java:1297)
...............

 Steps to take

  • Make sure the database and listener are responding.


 Failure of web server bridge
Error message "Failure of web server bridge" will occur if the wrong IP address entries are present against the hostname in the /etc/hosts file
Make sure the IP address entries are correct for the hostname in the /etc/hosts file.

Comments

Popular posts from this blog

Troubleshooting EBS login page issue in R12.2:

Oracle apps dba Interview Q&A's