Dear All,
I searched through multiple threads on this forum before posting my query here with a hope to find a solution to my problem.
Below are our environment details and I was made aware that Apex and EBS are on the same domain.
Oracle Database 11g (Release 11.2.0.3.0)
Oracle Apex Release 4.2.4.00.08
Oracle E-Business Suite R12.1.3
Architecture: APEX Listener under Oracle Glassfish Server
I followed all the steps outlined in the Oracle white paper, Extending Oracle E-Business Suite Release 12.1 and above using Oracle Application Express (apex-ebs-extension-white-paper-345780.pdf). We have patch 12726556 applied (to fix CallFromForm bug fix) in addition to Patch 12316083 as mentioned in the whitepaper.
I need apex application to be auto authenticated when user's are navigating from EBS. They should not be prompted to re-enter username and password. I read that this can be achieved by reading EBS ICX cookie from Rod West document and his posts on this forum. I then followed the steps (add before header process to built-in login page and not customizing LaunchApex.jsp as we are using GWY.jsp call) from his white paper (apex-ebs-wp-cabot-consulting-169064.pdf).
1. Custom Authentication set to apps.apex_integration_sample_apis.apex_validate_login
2. Profile FND: APEX URL set to http://<EBS_hostname>:8081/apex
3. Apex App Built-in login page (101) - Added On Load - Before header process for call to custom package as below to read the user name from session value
begin
apps.bsgx_apps_logon_pkg.bsgx_apps_logon;
end;
create or replace package bsgx_apps_logon_pkg
as
PROCEDURE bsgx_apps_logon;
end bsgx_apps_logon_pkg;
create or replace package body bsgx_apps_logon_pkg
as
PROCEDURE bsgx_apps_logon
IS
v_username VARCHAR2(100);
v_password VARCHAR2(32);
l_icx_val varchar2(15);
BEGIN
apps.wfa_sec.getsession(v_username);
v_password := apps.xxapx_security_pkg.generate_hash(apps.FND_GLOBAL.user_name);
IF v_password IS NOT NULL THEN
APEX_CUSTOM_AUTH.login(
P_UNAME => v_username,
P_PASSWORD => v_password,
P_SESSION_ID => v('APP_SESSION'),
P_APP_PAGE => apex_application.g_flow_id||':1'
);
ELSE
RAISE_APPLICATION_ERROR(-20001, 'Password is null, session id = '||apps.icx_sec.g_session_id);
END IF;
END bsgx_apps_logon;
end bsgx_apps_logon_pkg;
4. Created function in Apex with HTML Call GWY.jsp?targetAppType=APEX&p=121:1
5. Attach function to a responsibility user menu.
Now when I launch my apex app it still prompts me to enter username and password and then get inside the app.
Please help me to understand where I am going wrong in the above code. Help much appreciated.
Thanks in advance,
Hari
Message was edited by: hari