Introduction

Bulk import and export processes in Oracle ERP Cloud integration services are long running processes that require asynchronous callback pattern to notify consumer upon job completion. Bulk import is also known as File Based Data Integration (FBDI). ERP Cloud integration services provides infrastructure for user to register their callback service that could be invoked from Oracle ERP Cloud when import job is completed.

The ERP callback returns the status of the bulk process including all the sub-processes executed implicitly. It includes the log and error files (compressed in a ZIP format) of each sub-processes and the original data file. For detailed information on ERP Integrations, refer this.

This post describes how to implement and configure bulk import callback services leveraging Oracle Integration Cloud (OIC). For more information on OIC, refer to this.

Customer may create and host a callback web service either in Oracle PaaS or on-premise application server, but OIC simplifies the implementation. Through ERP adapter, it avoids complexity and quickly creates an integration flow template that can be extended further to act on import status provided through callback.  

 

Implementation Callback Integration Flow

The callback web service endpoint URL is registered when invoking importBulkData or exportBulkData operations from ERP Integration services. ERP Cloud will invoke this service upon job competition respectively.

These are the following pre-requisites to implement callback in OIC

1. ERP callback implements SAML bearer token policy. In order for OIC to receive callback, the issuer name (username) used in SAML assertion must exist in OIC identity store. The issuer name is the username used when invoking bulk import or export service in ERP through OIC connection.  To add username in OIC, refer this.

2. The cloud certificates must be imported in OIC to authenticate SAML assertion from Oracle ERP cloud. The ERP cloud certificates can be retrieved from Catalog Service WSDL as follows:

Acquire ERP Cloud certificates

In your browser, enter Service Catalog URL:

R12 URL: https://hostname:port/fndAppCoreServices/ServiceCatalogService?WSDL

R13 URL: https://hostname:port/fscmService/ServiceCatalogService?WSDL

In the WSDL, navigate to X509 certificates section as shown below:

WSDL_ERP_Cloud_certificates.png

Copy each certificate string in a file from above as follows:

-----BEGIN CERTIFICATE-----

MIIDVzCCAj+gAwIBAgIILzA3WogMk08wDQYJKoZIhvcNAQELBQAwWTETMBEGCgmSJomT8ixkARkWA2NvbTEWMBQGCgmSJomT8ixkARkWBm9yYWNsZTEVMBMGCgmSJomT8ixkARkWBWNsb3VkMRMwEQYDVQQDEwpDbG91ZDlDQS0yMB4XDTE2MDUwNzA1MzMzNVoXDTI2MDUwNTA1MzMzNVowWzETMBEGCgmSJomT8ixkARkWA2NvbTEWMBQGCgmSJomT8ixkARkWBm9yYWNsZTEVMBMGCgmSJomT8ixkARkWBWNsb3VkMRUwEwYDVQQDEwxGQUVuY3J5cHRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQChJcipQv2NkLOZbrGy6ipcwdW/Z5VMevvOuH3v06brMewL23IpPfkHJRS60404zdGvK84JjM18HcLOPN5GbH+ZtBmMldjVaVL0a0gpGsHDFKPEY7Q62P4zdhI9J7pLh6IdzpcFByIeqcD5fPv8/xddU4WRIbJLLsadMSBWgicaninPfQlDiZzjrnm+zWt3HZadd9prmIGP4MSeBsIIraic6a8T/YYZBpkAINxS5JqpMg0kINgioXmOSn5U5x5Pp71h9F2uhFgJByimyiVsYDJHS64ntWlE/Zf85O0utA+rSMtOJAO0/IN9RwJwRPIL3Sc/ORdLarAf+MkTkEQ1/fopAgMBAAGjITAfMB0GA1UdDgQWBBRph7SlEq4SVOFpFk/li13iHjfswjANBgkqhkiG9w0BAQsFAAOCAQEAcNirKm+HzWF9HbIeA

-----END CERTIFICATE-----

 

Repeat above for second certificate. You will have two certificate files. For example, erp_cert1.cer and erp_cert2.cer.

 

Import ERP Cloud certificates into OIC

From OIC home, navigate to Integrations

Screen Shot 2017-12-09 at 12.48.23 PM.png

Click Settings

Screen Shot 2017-12-09 at 12.48.31 PM.png

Click Certificates.

OIC_Certificate_main_page.png

Click Upload to import certificates as "Message Protection Certificate". Enter unique alias name and select certificate file.

Screen Shot 2017-12-09 at 12.49.21 PM.png

Repeat the upload process for second certificate.

 

Create ERP Callback Callback Integration Flow

These are the following steps to create a callback integration flow:

1. Create new integration using orchestration pattern. For detailed information, refer creating new integrations.

2. In your integration flow, select ERP adapter and configure as follows:

ConfiguringERPAdapterForCallback.jpg

The following shows the design flow:

Screen Shot 2017-12-09 at 1.03.55 PM.png

Activate callback and use this callback integration flow in your import integration flow as shown below:

Screen Shot 2017-12-09 at 1.05.56 PM.png

Activate flow and enable tracking to view callback response from OIC monitor console. ERP adapter in OIC automatically downloads the callback file. This is a callback payload received from ERP cloud in OIC callback flow with callback file reference that contains logs and errors:

 

Response received from MESSAGE<onJobCompletion xmlns="http://xmlns.oracle.com/cloud/adapter/erp/CallbackStatus_REQUEST/types"><onJobCompletionRequest xmlns="http://xmlns.oracle.com/cloud/adapter/erp/types"><jobs><jobName>Load Interface File for Import</jobName><jobPath>/oracle/apps/ess/financials/commonModules/shared/common/interfaceLoader</jobPath><documentName>ABC_JE_101820165.zip</documentName><requestId>104403</requestId><status>SUCCEEDED</status><child><jobName>Transfer File</jobName><jobPath>/oracle/apps/ess/financials/commonModules/shared/common/interfaceLoader</jobPath><requestId>104404</requestId><status>SUCCEEDED</status></child><child><jobName>Load File to Interface</jobName><jobPath>/oracle/apps/ess/financials/commonModules/shared/common/interfaceLoader</jobPath><requestId>104405</requestId><status>SUCCEEDED</status></child></jobs><jobs><jobName>Import Journals</jobName><jobPath>/oracle/apps/ess/financials/generalLedger/programs/common</jobPath><requestId>104406</requestId><status>SUCCEEDED</status></jobs><jobs><jobName>Upload Interface Error and Job Output File to Universal Content Management</jobName><jobPath>/oracle/apps/ess/financials/commonModules/shared/common/interfaceLoader</jobPath><requestId>104407</requestId><status>SUCCEEDED</status></jobs><summaryStatus>SUCCEEDED</summaryStatus><documentId>29395</documentId><ICSFile xmlns="http://xmlns.oracle.com/cloud/ics/file/v1/types"><FileReference>file:/UCMFA00029847@_@FWuOVOF4UhKKvvPWIeKnwpHZg3AqNgjOdJL7GmRMald1FkKH0AU2ieloHd8JJgbKJrNTEQ72KE+UzFoElGGW8Yv4SrmyBE3SM/x0kK/i5ieZq7VPbsu1C5UaC6pGKAzD6YhPdjn1Viry8fx7NUQX3A==</FileReference></ICSFile></onJobCompletionRequest></onJobCompletion>

 

Conclusion

This post illustrates how to implement ERP callback service in OIC with improved user experience. This is a critical integration flow of your end-to-end integration to act on the outcome and determine the next steps for downstream or upstream processing. OIC also downloads the file from ERP cloud that contains logs, errors and original data file.