In this blog, I will walk through
the steps followed in our Oracle EBS 12.2.5 environment to successfully configure Oracle Workflow Email Notifications with Microsoft
Office 365. The technical commands are preserved exactly as executed so that
DBA's can use them during implementation.
Environment Details:
Our environment consisted of:
- Oracle
E-Business Suite 12.2.5
- Oracle
Database 19c
- Java Version:
1.7.0_85
Before integrating with Office 365, the existing
Java version needed to be upgraded because newer security protocols and TLS
handshakes require updated JDK versions.
Required Patches:
|
Sr. No. |
Patch |
Description |
|
1 |
37171025 |
R12_GENERIC_Java_Critical_Patch_Update_Checker |
|
2 |
31042881 |
JavaMail API 1.6.2 |
|
3 |
30628681 |
R12.AD.C.Delta.12 |
|
4 |
30735865 |
R12.TXK.C.Delta.12 |
|
5 |
36017088 |
Patch for OAuth support for Gmail and
Microsoft |
Patch 30628681 (R12.AD.C.Delta.12) and 30735865 (R12.TXK.C.Delta.12) are already applied in our environment, so we will not apply it, not included in this blog.
The OAuth patch bug was already fixed in our environments, but still we force-applied it to ensure all fixes were available.
The complete activity was divided
into three major phases:
Phase I – Java Upgrade
In this phase, we upgraded the
Oracle EBS application tier Java version from 1.7.0_85 to 1.7.0_491.
This upgrade was required to support modern security standards and establish
secure communication with Microsoft Office 365. The activity included JDK replacement,
configuration updates, AutoConfig execution, and validation of the upgraded
Java environment
Phase II – Oracle EBS
Workflow OAuth Configuration
In this phase, we prepared Oracle E-Business Suite Workflow Mailer for OAuth 2.0 authentication. The work included generating certificates, applying the required JavaMail and OAuth patches, updating WebLogic server settings, completing the ADOP patching cycle, and configuring Workflow Mailer settings within Oracle EBS.
Microsoft Azure Setup
(Performed by Azure Administrator)
The third part of the implementation
was carried out by the Azure Administrator. We generated and shared the
required certificate files (.p12 and .cer) with the Azure team, and they
completed the necessary Azure AD application registration and OAuth
configuration on the Microsoft Office 365 side. They provided the required
details such as:
- Application (Client) ID
- Directory (Tenant) ID
- Workflow Mailbox/Email Account
- Client Secret and OAuth-related configuration details
These values were later used while
configuring the Oracle Workflow Notification Mailer in EBS. Since the
Azure-side configuration was handled separately by the Azure Administrator,
this document focuses only on the activities performed on the Oracle EBS
environment by DBA.
Therefore, this blog covers only the Oracle EBS
activities executed in Phase I and Phase II, while the Azure
configuration was completed independently by the Azure Administration team.
Phase I – Java Upgrade
Step
1: Verify Existing Java Version
The very first step is to check the Existing java version in
your environment with the help of “Java
Critical Patch Update Checker “ . Download it from below patch and run it.
p37171025_R12_GENERIC_Java_Critical_Patch_Update_Checker
$ bash ejcpuc.sh
##################################################################################
## Checking Apptier Java 7 for CPU 2026.01 on Platform
Linux_x64 - need 1.7.0_491
## 2026-03-31 17:54:28 IST on XXXXXXXXXXXX
##################################################################################
2026.01 action
Your Version bitness Java
Location
------------
------ ------------ ------- ---------------
1.7.0_491 UPDATE
1.7.0_85 32-bit
/u01/app/R1225/fs2/EBSapps/10.1.2/jdk/bin/java
1.7.0_491 UPDATE
1.7.0_85 32-bit /u01/app/R1225/fs2/EBSapps/comn/util/jdk32/bin/java
1.7.0_491 UPDATE
1.7.0_85 64-bit /u01/app/R1225/fs2/EBSapps/comn/util/jdk64/bin/java
1.7.0_491 UPDATE
1.7.0_85 64-bit /u01/app/R1225/fs2/FMW_Home/webtier/jdk/bin/java
Follow Article KA1058 to update the JDK(s). Your
application tier JDK 7 is lower than the 1.7.0_491 update released in CPU
2026.01.
$
Step
2: Download the java version "1.7.0_491" from the below patch
Make sure you
should download both the jdk version 32bit and 64bit,
Patch 38757494:
Oracle JDK 7 Update 491 , download both the 32 bit and 64 bit patches
p38757494_170_491_Linux-x86-64.zip —-> 64
bit Java
p38757494_170_491_LINUX.zip —-> 32 bit Java
For Oracle E-Business Suite running on 64-bit hardware architectures, the 64-bit Java is used for the application tier node and focloning tools. For the CP tier node and AD/AutoConfig, the 32-bit Java is still used.
In Oracle E-Business
Suite Release 12.2.6 or later, the 64-bit Java is used for the CP tier by
default.
Copy and extract it at some location
In our environment,
Copied at /home/oracle/JDK170_491
Extracted at
/home/oracle/JDK170_491/jdk32à 32 bit
and
/home/oracle/JDK170_491/jdk64à 64 bit
Step
3 : Prepare EBS system for Patching in First Putty session
$ cd
<EBS_BASE_HOME>/
$ . EBSapps.env
RUN
$ adop
phase=prepare
In our environment à
source /u01/app/R1225/EBSapps.env
run
adop phase=prepare
Step
4: Run the Environment Script for the Patch File System in second Putty session
In our environment à
$ source
/u01/app/R1225/EBSapps.env patch
$ echo
$FILE_EDITION
patch
Step
5: Upgrade to the new Java in OracleAS 10.1.2 Oracle_Home
OracleAS 10.1.2
Prerequisite Patches (Linux Only)
On Linux, you must apply the following OracleAS 10.1.2 patches before performing the JDK 7 upgrade on the OracleAS 10.1.2 Oracle_Home
1.
OracleAS 10.1.2 Patch 16271876
2.
OracleAS 10.1.2 Patch 17907988
3.
OracleAS 10.1.2 Forms Patch 17653437
4.
OracleAS 10.1.2 Patch 16241466
5.
OracleAS 10.1.2 Patch 17645157
Download the patches, and then apply them using OPatch.Note: Apply the patches in the order shown. You can ignore conflicts with any existing installed patches, as the new patches already have the fixes from any patches.
In Our environment
not required, as these patches are applied already.
You can use opatch
lsinventory command to check these patches are applied or not.
Step 6: Replace JDK Home for E-Business Suite (from here do all the steps on patch file system)
$ echo $FILE_EDITION
$ patch
$cd $ORACLE_HOME
$ mv jdk jdk_old
$ cp -RH
/home/oracle/JDK170_491/jdk32 .
$ mv jdk32 jdk
Step 7: Rebuild Forms and Reports Executables
For Forms :
$ cd
$ORACLE_HOME/forms/lib
$ make -f
ins_forms.mk sharedlib install
For Reports :
$ cd
$ORACLE_HOME/reports/lib
$ make -f
ins_reports.mk install
Step
8 : Replace jdk directories at cd $COMMON_TOP/util with new jdk as below
cd
$COMMON_TOP/util
mv jdk32 jdk32_old
mv jdk64 jdk64_old
cp -RH
/home/oracle/JDK170_491/jdk32 .
cp -RH
/home/oracle/JDK170_491/jdk64 .
Step 9:
Launch Oracle E-Business Suite Release 12.2 WebLogic Server
Administration Console on the patch file system using the following command:
exit
$ source /u01/app/R1225/EBSapps.env
patch
$ echo $FILE_EDITION
$ patch
$ cd
/u01/app/R1225/fs1/EBSapps/comn/util/jdk32/jre/lib/security
$ vi java.security
Serach for “jdk.jar.disabledAlgorithms”
Keep below entry only (or copy below and use)
jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024
Do the same for 64 bit also
vi /u01/app/R1225/fs1/EBSapps/comn/util/jdk64/jre/lib/security/java.security
Otherwise, you will get below error
NMProcess: Caused by: java.lang.SecurityException: The provider self-integrity check failed.
Now, again source the patch file system and perform below
$ cd $ADMIN_SCRIPTS_HOME
$ ./adadminsrvctl.sh start
forcepatchfs=yes
Step 10 : Run the JDK migration script using the command below and following the steps from the script
$ $FND_TOP/bin/txkrun.pl -script=SetJDKCfg
For this use below path,
Enter the full path of new 64-bit
JDK: /u01/app/R1225/fs1/EBSapps/comn/util/jdk64
Enter the full path of new 32-bit
JDK: /u01/app/R1225/fs1/EBSapps/comn/util/jdk32
The above command will modify the following configuration files to point to the newly-installed JDK for all Java related references,
[FMW_HOME]/user_projects/domains/<EBS_domain_name>/bin/setDomainEnv.sh
[FMW_HOME]/wlserver_10.3/common/bin/commEnv.sh
[FMW_HOME]/wlserver_10.3/common/nodemanager/nmHome1/nodemanager.properties
[FMW_HOME]/utils/bsu/bsu.sh
[FMW_HOME]/utils/quickstart/quickstart.sh
[FMW_HOME]/utils/uninstall/uninstall.sh
[FMW_HOME]/wlserver_10.3/.product.properties
[EBS_DOMAIN_HOME]/config/config.xml
Step 11: Run Oracle E-Business Suite AutoConfig utility
cd $ADMIN_SCRIPTS_HOME
./adautocfg.sh
exit
Step
12 : Stop Oracle E-Business Suite Release 12.2 WebLogic Server Administration
Console on the patch file system
$ su - oracle
$ source /u01/app/R1225/EBSapps.env
patch
$ cd $ADMIN_SCRIPTS_HOME
$ ./adadminsrvctl.sh stop forcepatchfs=yes
Step
13: Stop Node Manager on the patch file system
$ ./adnodemgrctl.sh stop
Step
14 : Create Soft link for jdk at $FMW_HOME/Oracle_EBS-app1 location as below,
$ cd $FMW_HOME/Oracle_EBS-app1
$ mv jdk jdk_old
$ ln -s $COMMON_TOP/util/jdk64 jdk
Step 15 : Remove or rename Old JRE Directories at below locations
$ cd $APPL_TOP/msc/12.0.0/bin/SNO/scp/12.2/sno/
$ mv installer_jre installer_jre_old
$ cd $APPL_TOP/msc/12.0.0/bin/PS/scp/12.2/ps/
$ mv jre jre_old
Step
16 : Run Oracle E-Business Suite AutoConfig utility
$ cd
$ADMIN_SCRIPTS_HOME
$ ./adautocfg.sh
$ exit
Step
17: Upgrade to the Latest Java in Oracle
Fusion Middleware Application Tier
Replace JDK Home Used in the Web Tier of Oracle Fusion
Middleware Home
su - oracle
$ source /u01/app/R1225/EBSapps.env patch
$ cd $FMW_HOME/webtier
$ mv jdk jdk_org
$ cp -RH
/u01/app/R1225/fs1/EBSapps/comn/util/jdk64 .
$ mv jdk64 jdk
Step
18: Now from run file system run the cutover
phase and then cleanup.
$ adop phase=cutover
$ adop phase=cleanup
Step
19: Ensure the JDK Version and CLASSPATH, after Application services are
started, use below commands,
$
$ADJVAPRG -version
$
echo $CLASSPATH
$
$AFJVAPRG -version
$
echo $AF_CLASSPATH
Output
Example :
$
java -version
java
version "1.7.0_491"
Java(TM)
SE Runtime Environment (build 1.7.0_491-b09)
Java
HotSpot(TM) Server VM (build 24.491-b09, mixed mode)
$
$ADJVAPRG -version
java
version "1.7.0_491"
Java(TM)
SE Runtime Environment (build 1.7.0_491-b09)
Java
HotSpot(TM) Server VM (build 24.491-b09, mixed mode)
Step
20: Also Check the output of below command,
$ bash ejcpuc.sh
##################################################################################
## Checking
Apptier Java 7 for CPU 2026.01 on Platform Linux_x64 - need 1.7.0_491
## 2026-04-02
16:10:09 IST on XXXXXXXXXXX
##################################################################################
2026.01
action Your Version bitness Java Location
------------
------ ------------ ------- ---------------
1.7.0_491
OK 1.7.0_491 32-bit
/u01/app/R1225/fs1/EBSapps/10.1.2/jdk/bin/java
1.7.0_491
OK 1.7.0_491 32-bit
/u01/app/R1225/fs1/EBSapps/comn/util/jdk32/bin/java
1.7.0_491
OK 1.7.0_491 64-bit
/u01/app/R1225/fs1/EBSapps/comn/util/jdk64/bin/java
1.7.0_491
OK 1.7.0_491 64-bit
/u01/app/R1225/fs1/FMW_Home/webtier/jdk/bin/java
$
Here Java
Upgrade process completes….
After the Java upgrade, synchronize the patch file system with the updated Java version to prepare for the next online patching cycle. Otherwise, the next patching cycle may use the previous Java version instead of the updated one.
adop phase=fs_clone
Phase II – Configure Oracle
Workflow OAuth 2.0 with Office 365
After upgrading Java, we can proceed with Office 365 integration.
Step 1: Open two putty session for this activity, one is for run file system required for patching cycle and other is for steps to execute form patch file system.
Step 2: Start New Patching Cycle, Prepare for Patching in first Putty session
In
our environment à
$ source /u01/app/R1225/EBSapps.env
run
$ adop phase=prepare
Step 3 : Run the Environment Script for the Patch File System in another Putty session
In our environment
à
$ source
/u01/app/R1225/EBSapps.env patch
$ echo
$FILE_EDITION
patch
Step
4: Create a Self-Signed Key Pair as below ( use the patch file system )
For testing purposes, if you are not planning to use a
certificate issued by a certificate authority for your signing key, you can use
the keytool command utility to create a self-signed key pair. The keytool
command utility is available with Java 7. Ensure that you are using the keytool
command available in /bin. You can use the JDK installed in the Oracle
EBusiness Suite application server or any other local instance. Ensure that
your Java version is 1.7.0_321 or later.
cd
$COMMON_TOP/util/jdk32/jre/bin
./keytool
-genkeypair -alias ms_private -keyalg "RSA" -keysize "2048"
-dname "cn=<yourorgname>, ou=DEPT, o=Oracle, c=INDIA"
-storetype "PKCS12" -keystore ms_private.p12 -storepass password
-validity 9999
./keytool
-exportcert -alias ms_private -keystore ms_private.p12 -storepass password -file
ms_public.cer -storetype "PKCS12"
Copy the newly
created keypair to safe location as well as on your desktop
cp ms_private.p12
/home/oracle/
cp ms_public.cer
/home/oracle/
Step 5: Now Request to your Azure Administrator to perform the necessary setup from Azur side,
Provide the below document to refer the setup,
KA1029 Configuring
Oracle Workflow for OAuth 2.0 with Microsoft Office 365 Exchange Online in
Oracle E-Business Suite Release 12.2 and Release 12.1.3 (PDF Doc ID 2884072.1)
Section 4: Set Up Microsoft Azure
Step 6: Meantime Apply Java mail API Patch and
OAUTH enablement patch 36017088:R12.OWF.C for GMAIL or Microsoft
Patch
1] Patch 31042881 – JavaMail API version 1.6.2
- copy content of
this zip file with the exception of README file to your SmartUpdate cache
directory (FMW_HOME/utils/bsu/cache_dir by default)
- Apply the patch
with below commands
bsu
-prod_dir=<Your WebLogic Home Dir> -patchlist=<Your Patch ID>
-verbose -install -log=patch_apply.log -log_priority=trace
Actual Execution:
copy patch at
/u01/app/R1225/fs1/FMW_Home/utils/bsu/cache_dir and go to bsu directory. And
give the below command to apply the patch,
bsu
-prod_dir=<Your WebLogic Home Dir> -patchlist=<Your Patch ID>
-verbose -install -log=patch_apply.log -log_priority=trace
Ex:
$ ./bsu.sh
-patch_download_dir=/u01/app/R1225/fs1/FMW_Home/utils/bsu/cache_dir
-patchlist=7BIA -prod_dir=/u01/app/R1225/fs1/FMW_Home/wlserver_10.3 -install
-log=patch_apply.log -log_priority=trace
Checking for
conflicts..
No conflict(s)
detected
Installing Patch
ID: 7BIA.
Result: Success --------------------> patch applied successfully
Patch
2] Patch 36017088:R12.OWF.C
Now
source run system or use different putty session that is uses for prepare and
Apply patch,
adop phase=apply
patches=36017088
we got the below
warning and adop process came out,
[WARNING] Skipping patch 36017088 as it has already
been applied in our environment.
So again, we
applied it forcefully with below command,
adop phase=apply
patches=36017088 options=forceapply
Now its
successful.
Step
7: Make the changes in all oacore servers from console
(http://servername:port/console)
For outbound
connections with backward compatibility, add the following to the server start
arguments:
You need to
firstly start the patch system admin server with below command,
cd
$ADMIN_SCRIPTS_HOME
./adadminsrvctl.sh
start forcepatchfs=yes
Now login to http://serverIP:port/console
Click Lock &
Edit.
Under Domain
Structure > your Oracle E-Business Suite domain > Environment and
Servers, select oacore manage server,
Then under the
Server Start tab in the Arguments section, add the following:
-DUseSunHttpHandler=true
-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
Repeat above steps
for all remaining oacore managed servers.
Now stop the patch
system admin server and its node manager
$
./adadminsrvctl.sh stop
$ ./adnodemgrctl.sh stop
Step 8 : Now complete the adop patching cycle
adop phase=finalize
adop phase=cutover
adop phase=cleanup
Step 9 : Now record the below points received from Azure Administrator.
Email ID :
Application Client
ID : xxxxxxxxxxxxxxxxxxxx
Directory tenant
ID: xxxxxxxxxxxxxxxxxxxxxx
Secret ID: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
With the help of
above data, Note the below points,
Server name for
SMTP : smtp.office365.com
Test user : Email ID
(oracleworkflowtest@xyz.com)
User name : Email ID
(oracleworkflowtest@xyz.com)
Client ID : Application
Client ID (noted above)
Access Token URL https://login.microsoftonline.com/<tenant
ID>/oauth2/v2.0/token
Scope : https://outlook.office365.com/.default
Upload Private Key File Click Browse, then browse and select the
.p12 file for the keystore that contains the private key.
Private Key Password xxxxxxxx(Password)
Upload Public Key File Click Browse, then browse and select
the .cer file for the public key certificate file.
Connection Security STARTTLS
Now with the help of all above information, configure the Workflow notification Mailer in EBS,
Step 10: Configure the SMTP and IMAP settings in Workflow notification
Put the above values for SMTP settings
Then
, Test Outbound connection
Do the same for IMAP settings,
Then Test Inbound connection
Once both testing are successful then again update the
same in the respective settings and click on “Apply” button.
Test its working… success
At the end don't forget to synchronize the patch file system with run file system.
adop phase=fs_clone
Ref:
KA1058 Using the Latest Java Update with Oracle
E-Business Suite Release 12.2
Excellent walkthrough on configuring Oracle Workflow emails with OAuth authentication, a clear, practical, and highly relevant for enhancing email security in modern Oracle environments.
ReplyDeleteThanks for sharing Raghvendra !
Thaks Prashant !
DeleteVery Well Researched and Technical Info shared for the Oracle Aspirants Dear Mr. Raghvendra !!! Keep helping and sharing your updates in future too for Us !!
ReplyDeleteThanks for your kind words!
Delete