Tuesday, 14 July 2026

Configuring Oracle Workflow Emails with Office 365 in Oracle E-Business Suite 12.2.5 – A Practical Guide



Email notifications are a critical component of Oracle E-Business Suite (EBS) Workflow. With Microsoft's modern authentication requirements, organizations using Office 365 Exchange Online must move away from traditional authentication methods and configure OAuth 2.0 for secure email communication.

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,

$ java -version

$ $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

 Use PATCH_TOP during all below steps for this patch

- 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 : oracleworkflowtest@xyz.com

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

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) 



Thank for Reading !


4 comments:

  1. Excellent walkthrough on configuring Oracle Workflow emails with OAuth authentication, a clear, practical, and highly relevant for enhancing email security in modern Oracle environments.

    Thanks for sharing Raghvendra !

    ReplyDelete
  2. Very Well Researched and Technical Info shared for the Oracle Aspirants Dear Mr. Raghvendra !!! Keep helping and sharing your updates in future too for Us !!

    ReplyDelete