Introduction

Oracle E-Business Suite Integrated SOA Gateway provides interface for communicating between your custom applications and Oracle EBS. This component is already included in the Oracle E-Business installation but requires configuration to be enabled. This post is an attempt to share my experience enabling ISG and to provide clear step by step instructions.

References

556540.1 – Installing Oracle E-Business Suite Integrated SOA Gateway, Release 12.1.3
Tutorial: Configuring Integrated SOA Gateway in Oracle E-Business Suite R12.1.3
Oracle E-Business Suite Integrated SOA Gateway Troubleshooting Guide, Release 12 (Doc ID 726414.1)
Oracle E-Business Suite Integrated SOA Gateway 12.1.3 REST Services Update (Doc ID 1998019.1)

Install necessary patches

Check that Oracle Application Server 10g Release 3 (10.1.3) is on Patch Set 5 (10.1.3.5.0)

export ORACLE_HOME=$IAS_ORACLE_HOME
cd $IAS_ORACLE_HOME/OPatch
./opatch lsinventory -detail|grep "Oracle Application Server PatchSet" 
....
Oracle Application Server PatchSet                               10.1.3.5.0

If the version is lower, e.g. 10.1.3.4.0, then use Document 454811.1 to upgrade your system to Oracle Application Server 10g Release 3 (10.1.3) Patch Set 5 (10.1.3.5.0).

Apply additional Oracle Application Server 10.1.3.5 Oracle Home patches

Stop the EBS application tier.

[applmgr@r12 ~]$ cd $ADMIN_SCRIPTS_HOME/
[applmgr@r12 scripts]$ ./adstpall.sh

Apply the following patches

[-]33523019: Merge Request on Top of 10.1.3.1.0 for Bugs 9223438 12352047 30423472
[-]9371120: Web Service Framework Takes More Time for Giving the Response
[-]7366746: WLP: Enabling "Use SAML Authority: Verify Signature" Doesn't Require SAML Token
[-]34052831: Merge Request on Top of 10.1.3.5.1 for Bugs 31180718 33934124
 
export ORACLE_HOME=$IAS_ORACLE_HOME
export PATH=$ORACLE_HOME/OPatch:$PATH
 
echo $ORACLE_HOME
which opatch
 
cd 33523019
opatch apply
cd 9371120
opatch apply
cd 7366746
opatch apply
cd 34052831
opatch apply

Check the logfiles for errors.

Verify that all the patches were applied:

opatch lsinventory|egrep '33523019|9371120|7366746|34052831'
 
  1) Patch  34052831 applied on Thu Jul 20 11:01:34 CEST 2023
  2) Patch  7366746 applied on Thu Jul 20 11:01:16 CEST 2023
      [ Bug fixes: 7366746  ]
  3) Patch  9371120 applied on Thu Jul 20 11:00:42 CEST 2023
      [ Bug fixes: 9371120  ]
  4) Patch  33523019 applied on Thu Jul 20 10:59:05 CEST 2023

Apply ISG Consolidated Patch with the pre-requisites

List of patches to be applied

[+]17884289, R12.AD.B.Delta.4 (minimum requirement) or later R12.AD.B.Delta patch
[-]34069667 - OAFM SERVER XML TEMPLATE TO BE MODIFIED TO PICKUP UPDATED LOG4J JAR
  [+]34052831: Applied in the previous section
[-]33822358: ISG Consolidated Patch for 12.1.3 (22_1_3).
  [+]R12.AD.B.delta.4
  [+]R12.ATG_PF.B.delta.3
  [-]27135427 R12.TXK.B.delta.4
  [-]29522970:R12.TXK.B additional TXK critical patch
  [-]28685719:R12.TXK.B additional TXK critical patch
  [-]23645824:R12.TXK.B additional TXK critical patch
  [-]17428617: XDKJ:UNEXPECTED XMLDOMEXCEPTION WHEN PI TARGET NAME START WITH "XML"
  [-]30003856: MERGE REQUEST ON TOP OF 10.1.3.5.0 FOR BUGS 12965674 28470429

The commands to apply the patches

export ORACLE_HOME=$IAS_ORACLE_HOME
export PATH=$ORACLE_HOME/OPatch:$PATH
 
echo $ORACLE_HOME
which opatch
 
cd 17428617
opatch apply
 
cd 30003856
opatch apply

Check the logfiles for errors.

Verify that all the patches were applied:

opatch lsinventory|egrep '17428617|30003856'
 
  1) Patch  30003856 applied on Thu Jul 20 11:11:17 CEST 2023
  2) Patch  17428617 applied on Thu Jul 20 11:10:38 CEST 2023

Post-steps for patch 30003856

Clarification Of Prerequisites And Post Installation Instructions For EBusiness Suite In Patch 30003856 (Doc ID 2765335.1)

copy j2ee/home/config/java2.policy to all oc4j config dir. The file is located in $ORACLE_HOME/j2ee/home/config NOTE: If you have 10.1.2 and 10.1.3 then use the latest one 10.1.3.

source $APPL_TOP/APPSVIS_r12.env 
ls -l $IAS_ORACLE_HOME/j2ee/home/config/java2.policy $ORACLE_HOME/j2ee/DevSuite/config/java2.policy $IAS_ORACLE_HOME/j2ee/forms/config/java2.policy $IAS_ORACLE_HOME/j2ee/oafm/config/java2.policy $IAS_ORACLE_HOME/j2ee/oacore/config/java2.policy 
 
cp $IAS_ORACLE_HOME/j2ee/home/config/java2.policy $ORACLE_HOME/j2ee/DevSuite/config/java2.policy 
cp $IAS_ORACLE_HOME/j2ee/home/config/java2.policy $IAS_ORACLE_HOME/j2ee/forms/config/java2.policy 
cp $IAS_ORACLE_HOME/j2ee/home/config/java2.policy $IAS_ORACLE_HOME/j2ee/oafm/config/java2.policy 
cp $IAS_ORACLE_HOME/j2ee/home/config/java2.policy $IAS_ORACLE_HOME/j2ee/oacore/config/java2.policy
 
ls -l $IAS_ORACLE_HOME/j2ee/home/config/java2.policy $ORACLE_HOME/j2ee/DevSuite/config/java2.policy $IAS_ORACLE_HOME/j2ee/forms/config/java2.policy $IAS_ORACLE_HOME/j2ee/oafm/config/java2.policy $IAS_ORACLE_HOME/j2ee/oacore/config/java2.policy

Upgrade to the latest TXK version 4 and apply TXK critical patches

source $APPL_TOP/APPSVIS_r12.env 
 
sqlplus -s apps/$pass @$AD_TOP/patch/115/sql/adsetmmd.sql ENABLE 
 
cd 34069667
adpatch
u34069667.drv
 
cd 27135427
adpatch
u27135427.drv
 
cd 29522970
adpatch
u29522970.drv
 
cd 28685719
adpatch
u28685719.drv
 
cd 23645824
adpatch
u23645824.drv

Apply the ISG consolidated patch

cd 33822358
adpatch
u33822358.drv

Verify that all the patches were applied

sqlplus apps/apps
set linesize 250;
col patch_name format a10;
col creation_date format a20;
select patch_name,creation_date from ad_applied_patches where patch_name in ('34069667','27135427','29522970','28685719','23645824');SQL> SQL> SQL>
 
PATCH_NAME CREATION_DATE
---------- --------------------
23645824   20-JUL-23
27135427   20-JUL-23
27135427   20-JUL-23
28685719   20-JUL-23
29522970   20-JUL-23

Update database tier nodes with the Oracle E-Business Suite Release 12.1.3 code level

Performing the following steps to update all database tier nodes to the latest codelevel.

On the application tier, as the applmgr user:

Source the application tier environment file.

source $APPL_TOP/APPSVIS_r12.env

Run the admkappsutil.pl utility to create the appsutil.zip file in $INST_TOP/admin/out.

$ perl $AD_TOP/bin/admkappsutil.pl

On the database tier, as the oracle user:

Source the environment for the RDBMS_ORACLE_HOME.

source $ORACLE_HOME/VIS_r12.env

Copy or FTP the appsutil.zip file to the $ORACLE_HOME.

Uncompress the appsutil.zip file under the database $ORACLE_HOME:

$ cd $ORACLE_HOME
$ unzip -o appsutil.zip

Run AutoConfig on the database tier as oracle user.

$ sh $ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME/adautocfg.sh

As the applmgr user, run AutoConfig on all application tier nodes.

$ sh $INST_TOP/admin/scripts/adautocfg.sh

Disable the maintenance mode

sqlplus -s apps/$pass @$AD_TOP/patch/115/sql/adsetmmd.sql DISABLE

Run the ISG configuration script

Note: This section also covers the post steps of the patch 34052831 which are described in the following document:

What To Do With Pcapps.rar Delivered In Patch 15914125 or patch 22839153? (Doc ID 1586876.1)

Add $IAS_ORACLE_HOME/j2ee/oafm/connectors/AppsSOAAdapter/AppsSOAAdapter/ (the actual physical path of this directory) to the “s_adovar_classpath” variable in the context file. E.g. /u01/oracle/VIS/apps/tech_st/10.1.3/j2ee/oafm/connectors/AppsSOAAdapter/AppsSOAAdapter:

/d01/oracle/VIS/apps/tech_st/10.1.3/appsutil/jdk/lib/dt.jar:/d01/oracle/VIS/apps/tech_st/10.1.3/appsutil/jdk/lib/tools.jar:/d01/oracle/VIS/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/rt.jar:/d01/oracle/VIS/apps/apps_st/comn/java/lib/appsborg.zip:/d01/oracle/VIS/apps/tech_st/10.1.2/forms/java:/d01/oracle/VIS/apps/tech_st/10.1.2/forms/java/frmall.jar:/d01/oracle/VIS/apps/tech_st/10.1.2/jlib/ewt3.jar:/d01/oracle/VIS/apps/tech_st/10.1.2/j2ee/OC4J_BI_Forms/applications/formsapp/formsweb/WEB-INF/lib/frmsrv.jar:/d01/oracle/VIS/apps/apps_st/comn/java/classes:/u01/oracle/VIS/apps/tech_st/10.1.3/j2ee/oafm/connectors/AppsSOAAdapter/AppsSOAAdapter
ISG_1213 updating adovar_classpath

Set the applications environment and stop all application tier processes.

source $APPL_TOP/APPSVIS_r12.env

Stop all application tier processes for the instance by running the script

$ADMIN_SCRIPTS_HOME/adstpall.sh

Note: If the ‘oc4jadmin’ password for the OAFM oc4j instance is not known, then reset the password in the following file before running the script.

$INST_TOP/ora/10.1.3/j2ee/oafm/config/system-jazn-data.xml

Take the backup of system-jazn-data.xml before resetting the password. Replace the modified system-jazn-data.xml with the backup of system-jazn-data.xml after running the script.
For example, you can reset the credentials to ‘!password’ using the following entry:

ISG resetting oc4jadmin password

Bounce the oafm container

cd $ADMIN_SCRIPTS_HOME
adoafmctl.sh stop
adoafmctl.sh start

Run TXK development script to install Oracle Application Server Adapter for Oracle Applications as shown below:

$FND_TOP/bin/txkrun.pl -script=CfgOC4JApp -applicationname=pcapps -oc4jpass=password -runautoconfig=No

Verify that no errors are present in the logfile.

Run the AutoConfig script

$ADMIN_SCRIPTS_HOME/adautocfg.sh

Start all application tier processes for the instance by running the script

$ADMIN_SCRIPTS_HOME/adstrtal.sh

Enable ASADMIN user

Log in to Oracle E-Business Suite as a user sysadmin.
Select the User Management responsibility in the Navigator.
Click the Users link from the navigation menu to open the User Maintenance window.
Locate user ‘ASADMIN’ by entering information in the search area to retrieve the ‘ASADMIN’ user.

ISG ASADMIN unlock

Click the Update icon next to the ASADMIN user to open the Update User window.
Remove the Active To date field and click Apply.

ISG ASADMIN unlock

Click the Reset Password icon next to the ASADMIN user to open the Reset Password window.
Enter new password twice and click Submit.

ISG ASADMIN unlock
ISG ASADMIN unlock

After activating the ASADMIN user, verify if the ASADMIN user has the ‘Apps Schema Connect Role’ (UMX|APPS_SCHEMA_CONNECT) role in wf_user_roles.

Run the following SQL queries:

select role_name
from wf_user_roles
where user_name='ASADMIN';
 
select role_name
from wf_user_role_assignments
where user_name='ASADMIN';

Both queries should return the same results:

ROLE_NAME
------------------------
ASADMIN
UMX|APPS_SCHEMA_CONNECT
ISG grant APPS_SCHEMA_CONNECT

If the ‘Apps Schema Connect Role’ role is not present in the wf_user_roles for the ASADMIN user, then run the ‘Workflow Directory Services User/Role Validation’ concurrent program to grant the role.

Use the following steps to execute the “Workflow Directory Services User/Role Validation” (FNDWFDSURV) concurrent program:

Log in to Oracle E-Business Suite as a user who has the System Administrator responsibility access privilege.

Select the System Administrator responsibility from the Navigator.

Select Request > Run.

Click Yes to select the Single Request.

In the Submit Request window, select ‘Workflow Directory Services User/Role Validation’ in the Name field.
Enter the following values in the Parameters pop-up window:

Batch size: 10000
User name: ASADMIN
Fix dangling users: Yes
Add missing user/role assignment: Yes
Update WHO columns in WF tables: Yes

Click OK in the Parameters window.
Click Submit to execute the request.

workflow validation asadmin

Reset the ‘ASADMIN’ password in the file system.

After the ‘ASADMIN’ user is enabled from Oracle E-Business Suite, reset the ‘ASADMIN’ password in the file $INST_TOP/ora/10.1.3/j2ee/oafm/config/system-jazn-data.xml as shown below:

ISG ASADMIN reset password

Note: The password should be preceded by an exclamation mark (‘!’) so that when OAFM is started, the password gets encrypted. Ensure that you enter the exclamation mark before the actual password value in the tag.

Stop and restart the application tier services.

Validate the setup

After completing the setup tasks for Oracle E-Business Suite Integrated SOA Gateway, you need to validate the setup by executing the following test query.

http://ebshost.ebsdomain/webservices/SOAProvider/?testquery

E.g:

http://r12.localdomain/webservices/SOAProvider/?testquery

If it returns TEST RESPONSE, then the ISG setup task is performed successfully.

ISG validate setup

Verify that REST is configured successfully and active

http://ebshost.ebsdomain:port/webservices/rest/login

E.g:

https://r12.localdomain/webservices/rest/login

When prompted, provide Oracle E-Business Suite System Administration user credentials. You should see a response, similar to the following in the browser:

ISG verify REST login status

Configure token authentication

To make sure that token authentication works perform the following checks:

Check the value of the profile option “Applications Database ID” at the site level:

sqlplus apps/****
select fnd_profile.value('APPS_DATABASE_ID') from dual;

This profile option inherits its value from the context file parameter s_dbc_file_name. So you may also check the value of that parameter as applmgr:

[applmgr@master ~]$ grep s_dbc_file_name $CONTEXT_FILE

Open the following configuration file:

$INST_TOP/ora/10.1.3/j2ee/oafm/config/oc4j.properties

Make sure that AGENT_JNDI_NAME is set to the same value as the profile option. Example:

AGENT_JNDI_NAME=EBSDB

If you performed any changes to the configuration file restart the oafm container:

[applmgr@r12 scripts]$ cd $ADMIN_SCRIPTS_HOME
[applmgr@r12 scripts]$ ./adoafmctl.sh stop
[applmgr@r12 scripts]$ ./adoafmctl.sh start

File oc4j.properties is overwritten by autoconfig, so your changes may get lost. To avoid adding the parameter after each autoconfig run you may create a custom template.

mkdir -p $FND_TOP/admin/template/custom
cp $FND_TOP/admin/template/oafm_oc4j_properties_1013.tmp $FND_TOP/admin/template/custom
cd $FND_TOP/admin/template/custom
vi oafm_oc4j_properties_1013.tmp

Update the following parameter as required.

Before:

AGENT_JNDI_NAME=%s_dbSid%

After:

AGENT_JNDI_NAME=%s_dbc_file_name%

Run autoconfig as applmgr and restart the applications

$ADMIN_SCRIPTS_HOME/adautocfg.sh
$ADMIN_SCRIPTS_HOME/adstpall.sh
$ADMIN_SCRIPTS_HOME/adstrtal.sh

Configure ISG for TLS

If your EBS instance is TLS enabled check if the required ISG TLS configuration steps are performed.