Business Event Troubleshooting Issues

This section describes business event troubleshooting issues.

Events Not Received by Oracle Integration When Using Oracle ERP Cloud Adapter Trigger Connections

When you configure a trigger connection to receive an Oracle ERP Cloud event, Oracle Integration uses the Oracle ERP Cloud catalog to view the available events and their definitions.

Catalog API: GET /soa-infra/PublicEvent/catalog
When the integration is activated, Oracle Integration creates a subscription in Oracle ERP Cloud:
Subscription API: POST /soa-infra/PublicEvent/subscriptions
When a new event is generated in Oracle ERP Cloud, the application checks the subscription list.
Subscription API: GET /soa-infra/PublicEvent/subscriptions
Oracle ERP Cloud uses the new event generated and checks each subscription to see if it matches the following:
  • Event name
  • Filter
  • State is true

If all of these conditions are met, Oracle ERP Cloud performs a SOAP call to the Oracle Integration endpoint using the new event.

If you are expecting an event from Oracle ERP Cloud and an Oracle Integration instance is not generated for the integration, perform the following steps:

  1. Verify if the event subscription is correctly registered in the Oracle Fusion Applications instance.
    Execute the following REST API call:
    GET https://fa-base-url/soa-infra/PublicEvent/subscriptions

    Use the same credentials as those specified for the Oracle ERP Cloud Adapter connection.

    Response example:
    {
        "subscriptions": [
            ...,
            {
                "endpointType": "SOAP",
                "serviceInstance": null,
                "integrationName": null,
                "integrationVersion": null,
                "csfKey": null,
                "name": "{http://xmlns.oracle.com/apps/financials/commonModules/shared}ErpImportBulkDataEvent",
                "id": "aHR...=",
                "state": true,
                "filter": "<xpathExpr 
          xmlns:ns_0='http://xmlns.oracle.com/apps/financials/commonModules/shared'>$inputVariable/ns_0:JOBS/ns_0:JOBNAME=&apos;Import Journals&apos; or $inputVariable/ns_0:JOBS/ns_0:CHILD/ns_0:JOBNAME=&apos;Import 
          Journals&apos;</xpathExpr>",
                "endpointURL": "https://oic-base-url/ic/ws/integration/v1/flows/erp/OIC_ERP_EVENT_TEST/1.0/"
            },
            ...
        ]
    }
  2. Verify the following details:
    1. Ensure that the endpointURL is correct.

      The URL must use the Oracle Integration runtime URL from the Instance Details page.

      If you are using a custom endpoint, ensure that the subscription is listing it instead of the Oracle Integration default endpoint.

      Consider deleting the subscription with the wrong URL:
      Subscription API: DELETE /soa-infra/PublicEvent/catalog

      Complete deletion steps are described in the documentation. See Business Event Received from a Nonproduction Oracle Fusion Applications Environment.

    2. Check that the filter matches the event payload that you expect to receive.
    3. Confirm that the state is set to true.
  3. Check the Oracle ERP Cloud catalog to confirm that it contains the event to which you are subscribed:
    GET https://fa-base-url/soa-infra/PublicEvent/catalog
    Response example:
    {
        "events": [
            ...,
            {
                "documentTransform": {
                    "targetTypeDefinition": "oramds:/oracle/apps/financials/commonModules/shared/model/publicEvents/ErpImportBulkDataEvent.xsd",
                    "inputXSLT": "oramds:/oracle/apps/financials/commonModules/shared/erpIntegration/common/publicEvents/ErpImportBulkDataEvent.xsl",
                    "keyMaps": [],
                    "targetElement": "{http://xmlns.oracle.com/apps/financials/commonModules/shared}ErpImportBulkDataEvent"
                },
                "enrichmentType": "SOAP",
                "description": "This event notifies that import bulk data is completed via ERP Integration web service",
                "displayName": "ERP Integration Inbound event",
                "customEvents": [],
                "name": "{http://xmlns.oracle.com/apps/financials/commonModules/shared}ErpImportBulkDataEvent",
                "id": "ERPInteg_Import_Completed"
            },
            ...
        ]
    }
  4. Verify if you have the network restriction configured for your Oracle Integration instance. See Configure an Allowlist for Your Instance in Provisioning and Administering Oracle Integration 3.
    If you do, ensure that the Oracle Fusion Applications outbound IP address is allowlisted in Oracle Integration. See Request Oracle Fusion Applications Egress IP Addresses.
  5. Verify if Oracle ERP Cloud attempted to send the event to Oracle Integration.
    1. Find the Oracle ERP Cloud Adapter connection used for the trigger.
    2. In the navigation pane, click Observability, then Fusion Applications.
    3. From the list of connections, find the Oracle ERP Cloud Adapter connection used for the integration trigger.
    4. Hover over a connection row, and click View event list for the Fusion Applications instance.
    5. Check the events listed for the event name you are expecting (displayName from the Oracle ERP Cloud Adapter catalog. See step 3.)
      • If no events are listed, contact the Oracle Fusion Applications team that manages the event name (See step 1.) from the subscription. Provide the timestamp when the event was expected to be generated.
      • If the event is listed, check the error message that Oracle ERP Cloud receives when it tries to invoke the integration. Fix the issue causing the error message.

      For more details, see Diagnose and Manage Event-Based Oracle Fusion Applications Integrations in Using Integrations in Oracle Integration 3.

Deactivate an Integration with Business Events

If the integration to deactivate contains a business event subscription, a message is displayed asking if you want to delete the event subscription. If you select to delete the event subscription, the integration does not receive any events after it is reactivated.


This image shows the Deactivate Integration. The integration name and version number are shown. Below that the Delete Event Subscription checkbox is shown. A help icon appears in the upper right. The Cancel and Deactivate buttons appear in the lower right.

If you do not want to delete the event subscription, the events in this integration are resent if the integration is activated within six hours.

Multiple Data Sources with Different Callbacks For Each Data Source

You can have multiple data sources and therefore require different callbacks for each data source.

Perform the following steps to configure multiple callback integrations for the same FBDI job:

  1. When configuring a callback trigger connection, instead of selecting the in-built callback option, select Receive Business events raised within ERP Cloud on the Request page.
  2. Select the event ERP Integration Inbound event.
  3. Configure the filter on this event based on the document name in the event payload and ensure that the document name has a particular format that identifies the source of the data.

This enables multiple callbacks to be configured depending on the document name.

Payable Invoice-Related Events Are Not Being Sent from Oracle Fusion Applications

If payable invoice-related events are not being sent from Oracle Fusion Applications, see the following Oracle Fusion Applications document available at Oracle Support Services.

  1. Go to Oracle Support Services and search for Doc ID 2650773.1 (Payables Invoice Created : How to enable Payable Invoice creation event for OIC process).
  2. Set user profile ORA_AP_ENABLE_BUSINESS_EVENTS to Y in Oracle Fusion Applications, as described in this document.

Business Events or Objects Not Appearing in Adapter Endpoint Configuration Wizard

If business events or objects are not displayed for selection in the Adapter Endpoint Configuration Wizard, the cause may be incomplete or old metadata. The wizard may also fail with the following error.

Failed to fetch Business Events from Public Event Catalog. Either it
may be empty Or Cloud Application is not reachable due to improper OAM 
configuration on Cloud application. Please check if you are able to read 
Event catalog here: https://xxxx.oraclecloud.com/soa-infra/PublicEvent/catalog_

Ensure that the following issues are satisfied:

  • The Oracle ERP Cloud Adapter is using the latest and most complete metadata. Select Refresh Metadata on the Connection page for the Oracle ERP Cloud Adapter connection and retest. See Refresh Integration Metadata.
  • All prerequisites to create an Oracle ERP Cloud Adapter connection have been satisfied. See Prerequisites for Creating a Connection.

Business Event Received from a Nonproduction Oracle Fusion Applications Environment

Note the following issue and resolution when receiving a business event from a nonproduction Oracle Fusion Applications environment.

Problem Root Cause How to Diagnose Action Required
An Oracle ERP Cloud Adapter trigger endpoint in an Oracle Integration production environment received business events from an Oracle Fusion Applications test environment. An active business event subscription present in an Oracle Fusion Applications test environment is configured with an Oracle Integration production endpoint. This may occur because of the following:
  • You have activated an Oracle ERP Cloud business event callback flow in an Oracle Integration production environment with an Oracle Fusion Applications test environment connection setting.
  • This subscription is not deleted at the time of deactivation.
Check the PublicEvent subscription's REST resource with the Postman Get method and also check the endpoint URL for the related subscription.
REST resource:
https://fa_host.oraclecloud.com/soa-infra/PublicEvent/subscriptions

This is a sample entry for a subscription in Oracle Fusion Applications:

{
      "csfKey": "idcs-5378d3136b9f423f",
      "endpointURL":
"https://xxxx.oci.cloud.com/ic/ws/integration/v1/flows/erp/XXXX/1.0/",
      "filter": "<xpathExpr
xmlns:ns_1='http://xmlns.oracle.com/apps'>$inputVariable/ns_1:objectName</xpathExpr>",
      "name": "{http://xmlns.oracle.com/apps/crmCommon}ICSGenericEventCRM",
      "id": "hczItaWmNsb3Vkb25saW5lLm1sOjQ0My9pY9",
      "state": true
}
If the subscription is not correct, delete the subscription with the Postman Delete method using the subscription ID:
https://fa_host.oraclecloud.com/soa-infra/PublicEvent/subscriptions/{id}