Premium

Introduction

Anypoint Connector for Oracle E-Business Suite (EBS) provides real-time connectivity to query and update Oracle EBS using web services and message queues. The connector has been developed for the Oracle EBS v12.1.x. For more information about Oracle EBS, visit Oracle site.

Oracle EBS connector provides integration to the following:

  • Financial Management and Order Management Modules: Full API coverage for Financials and Order Management services.

  • PL/SQL Integration: Both standard PL/SQL or user-defined PL/SQL can be invoked.

  • XML Gateway: Inbound and Outbound, to send and receive message to and from EBS.

  • Business Events: The ability to receive messages when an event is fired in EBS.

Prerequisites

Because of how closely the connector is coupled with Oracle EBS, this document assumes you have:

  • A working knowledge of Oracle EBS.

  • Read the relevant documentation on Web Services and Integration Scenarios for your Oracle EBS version.

A definition and detailed explanation of the Oracle EBS terms and concepts used here are freely available in the Oracle documentation set of your Oracle installation.

This document assumes you are familiar with Mule, Anypoint Connectors, and Anypoint Studio Essentials. To increase your familiarity with Studio, consider completing one or more Anypoint Studio Tutorials. Further, this page assumes that you have a basic understanding of Mule flows and Mule Global Elements.

To use the Oracle EBS connector, you must have the following:

  • Java 7: Oracle EBS connector does not work unless you are using Java 1.7.0_x as your JRE 

  • Web service configuration in Oracle EBS: Configuring the Oracle EBS connector requires configuring web services in Oracle EBS and exposing them via the Integration Repository

  • FND_WEB_SEC PL/SQL Service: The connector requires Oracle EBS to have the FND_WEB_SEC PL/SQL service deployed

  • Anypoint Studio

Compatibility

Oracle EBS Connector 1.0 is compatible with:

Application/Service Version

Mule Runtime

3.7 or higher

Anypoint Studio

5.2.1 or higher

Oracle EBS

12.1.x

Java

7

Connector Architecture

Oracle EBS offers different technologies or products to address various types of integrations. Listed below are the most widely used for integration with enterprise applications:

  1. Data-centric integration.

  2. Event-driven integration using Oracle Business Event System and XML Gateway queues.

  3. Integration through Web Services using Integrated SOA gateway.

The following illustration shows the integration architecture of the MuleSoft Oracle EBS connector:

oracle_ebs_connector_architecture

Installing and Configuring

The following sections describe how to install and configure the MuleSoft Oracle EBS connector.

Installing

You can install a connector in Anypoint Studio using the instructions in Installing a Connector from Anypoint Exchange

To use the Oracle EBS connector in a production environment, you must have either:

  • An Enterprise license to use Mule

  • A CloudHub Starter, Professional, or Enterprise account

Contact the MuleSoft Sales Team to obtain either of these. Read more about in Installing an Enterprise License.

Creating a New Project

To use the Oracle EBS connector in a Mule Application, first create a new Mule project in Anypoint Studio:

  1. In Anypoint Studio, click File > New > Mule Project.

    PS_0001B_installing_new

  2. Enter a name for your new project and leave the remaining options with their default values.

    oracle_ebs_new_project

  3. If you plan to use Git, select Create a .gitignore file for the project with default ignore settings for Studio Projects, and then click Next.

  4. Click Next to verify that Java 1.7 is set as your default JRE.
    javacheck

  5. Click Finish to create the project.

Configuring an Oracle EBS Global Element

To use the Oracle EBS connector in your Mule application, you must configure a global Oracle EBS element that can be used by all the Oracle EBS connectors in the application (read more about global elements).

[tab,title="Studio Visual Editor"]
....
Follow these steps to create an Oracle EBS global element:

. Click the *Global Elements* tab at the base of the canvas.
. On the Global Mule Configuration Elements screen, click *Create*.
. In the *Choose Global Type wizard*, expand *Connector Configuration*, and then select *OracleEBS: Configuration*.
+
image:oracle_ebs_connector_config.png[oracle_ebs_connector_config]
+
. Click *OK*.
. Configure the parameters according to the instructions below.
+
image:oracle_ebs_global_element.png[oracle_ebs_global_element.png]
+
[width="100%",cols="50a,50a",options="header",]

|===
|Field|Description
|*Name* |Enter a name for the configuration with which it can be referenced later.
|*Username* |Username to log into Oracle EBS web services.
|*Password* |Password for the username.
|*Host* |Enter the host of the Oracle EBS instance.
|*Port* |Enter the port of the Oracle EBS web services.
|*DB Username* |Username for the Oracle EBS database.
|*DB Password* |Enter the password for the username.
|*DB Host* |Enter the host of the Oracle EBS database.
|*DB Port* |Enter the port of the Oracle EBS database.
|*Database SID* |Enter the SID of the database.
|*Responsibility Name* |Enter the responsibility name that is needed to execute the operation.
|*Responsibility Appl. Name* |Enter the application short name that is needed to execute the operation.
|*Security Group Name* |Enter the security group key of the Oracle EBS instance (optional). Default value is *STANDARD*.
|*NLS language* |Enter the NLS language of the Oracle EBS instance (optional). Default value is *AMERICAN*.
|*Org. ID* |Enter the organization ID of the Oracle EBS instance (optional). Default value is *204.*
|===
+
. Configure your custom web services list according to the steps below:
.. Select *Create Object manually* and then click the button next to it.
+
image:createobject1.png[createobject1]
+
.. On the pop-up window, select the plus sign (*+*) to add more entries.
.. Right-click a metadata item and click *Edit the selected metadata field* to enter the values.
+
image:oracle_ebs_enter_metadata.png[oracle_ebs_enter_metadata]
+
.. Click *OK* to save the list.
. Click *Test Connection* and confirm receipt of the _Connection Successful_ message.
. Click *OK* to save the global connector configurations.
+
[IMPORTANT]
Sometimes, it is necessary to create more than one global configuration. It depends on how the Oracle EBS instance is configured. One possible scenario would be to have one configuration for executing web service operations and another one for PL/SQL operations.

....
[tab,title="XML Editor"]
....
Ensure you have included the Oracle EBS namespaces in your configuration file.

[source, xml, linenums]
----
<mule xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns:oracle-ebs = " http://www.mulesoft.org/schema/mule/oracle-ebs" 
xsi:schemaLocation="
http: //www.mulesoft.org/schema/mule/core
http: //www.mulesoft.org/schema/mule/core/current/mule.xsd
 http://www.mulesoft.org/schema/mule/oracle-ebs http://www.mulesoft.org/schema/mule/oracle-ebs/current/mule-oracle-ebs.xsd
<!-- Add your flows and configuration elements here -->
</mule>
----

Follow these steps to configure a Oracle EBS connector in your application:

. Create a global Oracle EBS configuration outside and above your flows, using the following global configuration code.
+
[source, xml, linenums]
----
<oracle-ebs:config name="OracleEBS__Configuration" username="${username}" password="${password}" host="${host}" port="${port}" dbUser="${dbUser}" dbPassword="${dbPassword}" dbHost="${dbHost}" dbPort="${dbPort}" dbSid="${dbSid}" responsibilityName="${responsibilityName}" responsibilityApplName="${responsibilityApplName}" doc:name="OracleEBS: Configuration"/>
----
+
[cols=","]
|===
|*Parameter* |*Description*
|*Name* |Enter a name for the configuration with which it can be referenced later.
|*Username* |Username to log into Oracle EBS web services.
|*Password* |Password for the username.
|*Host* |Enter the host of the Oracle EBS instance.
|*Port* |Enter the port of the Oracle EBS web services.
|*DB Username* |Username for the Oracle EBS database.
|*DB Password* |Enter the password for the username.
|*DB Host* |Enter the host of the Oracle EBS database is located.
|*DB Port* |Enter the port of the Oracle EBS database.
|*Database SID* |Enter the SID of the database.
|*Responsibility Name* |Enter the responsibility name that is needed to execute the operation.
|*Responsibility Appl. Name* |Enter the application short name that is needed to execute the operation.
|*Security Group Name* |Enter the security group key of the Oracle EBS instance (optional).
|*NLS language* |Enter the NLS language of the Oracle EBS instance (optional).
|*Org. ID* |Enter the organization ID of the Oracle EBS instance (optional).
|===

....

Using the Connector

The Oracle EBS connector can be used both as a message source, if you wish to subscribe to queues, and as an operation-based connector, if your goal is to invoke web service operations. If you intend to subscribe to a queue or topic (such as the XML Gateway Outbound queue or the Business Events topic), you will need to drag the connector to the "Source" section of your flow. After doing so, and selecting a Connector Configuration, you will have to choose the queue/topic you wish to subscribe to, from the Operation dropdown. If you drag the connector to the "Process" section of your flow, you will need to select a web service operation and fill in its input parameters. If the operation you need to invoke is a PL/SQL function exposed as a web service, you will select the Invoke PL/SQL Operation, and then the PL/SQL and Function from the two dropdowns that appear below.

PL/SQL Operation Use Case

The following is a common use case for the Oracle EBS connector: 

  • Execute a PL/SQL operation from the custom PL/SQL web service. 

Adding to a Flow

  1. Create a new Mule project in Anypoint Studio.

  2. Add a suitable Mule Inbound endpoint, such as the HTTP listener or File endpoint, to begin the flow.

  3. Drag the Oracle EBS connector onto the canvas, then select it to open the properties editor.

  4. Configure the connector’s parameters according to the table below.

    oracle_ebs_config

    Field

    Description

    Display Name

    Enter a unique label for the connector in your application.

    Connector Configuration

    Connect to a global element linked to this connector. Global elements encapsulate reusable data about the connection to the target resource or service. Select the global Oracle EBS connector element that you just created.

    Operation

    Select the operation from the dropdown. You can select any of the operations displayed or the Invoke PL/SQL operation, which allows you to execute a web service published from PL/SQL.

    Params

    Complete the parameters needed for the operation selected. If the Invoke PL/SQL operation is selected, you need to select the PL/SQL and Function parameters with an operation to be executed.

  5. Click the blank space on the canvas to save your configurations.

  6. If you select the Invoke PL/SQL operation, you need to add a DataMapper transformer to map the values from the flow to the input parameters for the PL/SQL operation.

Example Use Case

Execute a custom PL/SQL operation from the custom PL/SQL web service. 

[tab,title="Studio Visual Editor"]
....
image:oracle_ebs_example_flow.png[oracle_ebs_example_flow]

. Create a Mule project in Anypoint Studio.
. Drag an HTTP connector onto the canvas, then select it to open the properties editor console.
. Add a new HTTP Listener Configuration global element:
.. In *General Settings*, click the plus sign (*+*):
+
image:HTTP-1.png[HTTP-1]
+
.. Configure the following HTTP parameters:
+
image:oracle_ebs_http_params.png[oracle_ebs_http_params]
+
[width="100%",cols="50a,50a",options="header",]
|======
|Field|Value
|*Port* |8090
|*Host* |localhost
|*Display Name* |HTTP_Listener_Configuration
|======
+
.. Reference the HTTP Listener Configuration global element:
+
image:httpconfig.png[httpconfig]
+
. Drag the Oracle EBS connector, then configure it according to the steps below:
.. Add a new Oracle EBS Global Element by clicking the plus sign (*+*).
+
image:connectorconfig.png[connectorconfig]
+
.. Configure the global element according to the table below:
+
[width="100%",cols="50a,50a",options="header",]
|=======
|Field|Description
|*Name* |Enter a name you prefer
|*Username* |Username to log into Oracle EBS web services.
|*Password* |Password for the username.
|*Host* |Enter the host of the Oracle EBS instance.
|*Port* |Enter the port of the Oracle EBS web services.
|*DB Username* |Username for the Oracle EBS database.
|*DB Password* |Enter the password for the username.
|*DB Host* |Enter the host of the Oracle EBS database is located.
|*DB Port* |Enter the port of the Oracle EBS database.
|*Database SID* |Enter the SID of the database.
|*Responsibility Name* |Enter the responsibility name that is needed to execute the operation.
|*Responsibility Appl. Name* |Enter the application short name that is needed to execute the operation.
|*Security Group Name* |Enter the security group key of the Oracle EBS instance (optional).
|*NLS language* |Enter the NLS language of the Oracle EBS instance (optional).
|*Org. ID* |Enter the organization ID of the Oracle EBS instance (optional).
|*Custom PL/SQL web services* |Select *Create Object manually*, click the button on the right and add all custom PL/SQL web services you want to execute. In the example we use FND_WEB_SEC.
|*Required dependencies* |Select the location in your local file system for the Oracle AQ API and Oracle JDBC Driver. Both are used in the Test Connection process and subscription to queues and topics.
|=======
+
.. Click *Test Connection* to confirm that Mule can connect with the Oracle EBS instance. If the connection is successful, click *OK* to save the configurations. If unsuccessful, revise or correct any incorrect parameters, then test again.
. Back in the properties editor of the Oracle EBS connector, configure the remaining parameters according to the table below:
+
image:oracle_ebs_connector_operation_config.png[oracle_ebs_connector_operation_config]
+
[cols=",",]
|=====
|*Field* |*Value*
|*Display Name* |Testing custom PL/SQL operation (or any other name you prefer)
|*Connector Configuration* |Oracle (Enter name of the global element you have created)
|*Operation* |Invoke PL/SQL
|*PL/SQL* |Fnd Web Sec (custom)
|*Function* |Validate Login
|*Input Reference* |From Message `#[payload]`
|=====
+
. Add a *DataMapper* transformer between the HTTP endpoint and the Oracle EBS connector to map the data in the HTTP endpoint to the structure required by the Oracle EBS connector.
. Configure the Input properties of the DataMapper according to the steps below.
+
image:datamapper.png[datamapper]
+
.. In the *Source* field, select *Inbound Property - http.query.params* and click  the
image:edit_button.png[edit_button](Edit) button located to the right of the *Type* drop-down list.
.. In the *Type* field, select *Map<k,v>*
.. Select *User Defined* and then click the *Create/Edit Structure* button:
+
image:queryParamsDataMapper.png[queryParamsDataMapper]
+
... Add a name to the structure. In the example it is *queryParams*.
... In the *Type* dropdown select *Element*
... Click the plus sign (*+*) and add a name to the field_0. In the example it is *user*.
... Click the plus sign (*+*) again and add a name to the field_1. In the example it is *password*.
... In the Output section of the DataMapper, specify the applicable output data type (e.g. xml), so the connector may perform the Validate Login operation specified earlier
. Add a *DOM to XML* transformer after the Oracle EBS Connector.
. Add a *Logger* scope right after the DOM to XML Transformer, to print the data that is being received from the Oracle EBS connector in the Mule Console. Configure the Logger according to the table below:
+
[width="100%",cols="50a,50a",options="header"]
|===
|*Field* |*Value*
|*Display Name* |Logger (or any other name you prefer)
|*Message* |Output from Transformer is `"\### EBS Test #[payload]"`
|*Level* |INFO (Default)
|===
+
. Add a *Catch Exception Strategy* and add a logger component inside it. Configure the logger message attribute with `#[payload]`, and set the level to ERROR.
+
[width="100%",cols="50a,50a",options="header"]
|===
|*Field* |*Value*
|*Display Name* |Logger (or any other name you prefer)
|*Message* |Error: #[payload]
|*Level* |ERROR
|===
+
. Save and run the project as a Mule Application.
....
[tab,title="XML Editor"]
....
. Add an oracle:config global element to your project, then configure its attributes as follows:
+
[source, xml, linenums]
----
<oracle-ebs:config name="OracleEBS__Configuration" username="${username}" password="${password}" host="${host}" port="${port}" dbUser="${dbUser}" dbPassword="${dbPassword}" dbHost="${dbHost}" dbPort="${dbPort}" dbSid="${dbSid}" responsibilityName="${responsibilityName}" responsibilityApplName="${responsibilityApplName}" doc:name="OracleEBS: Configuration">
----
+
. Do the same, but configure the HTTP endpoint as follows:
+
[source, xml, linenums]
----
<http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/>
----
+
. Configure your Oracle EBS custom PL/SQL web services in the Mule application. To do so, find the `<oracle-ebs:custom-pl-sql-name-list>` internal tag and replace it with the following:
+
[source, xml, linenums]
----
<oracle-ebs:custom-pl-sql-name-list>
    <oracle-ebs:custom-pl-sql-name-list>FND_WEB_SEC</oracle-ebs:custom-pl-sql-name-list>
</oracle-ebs:custom-pl-sql-name-list>
----
+
. Begin the flow with a HTTP endpoint, configuring the endpoint as follows:
+
[source, xml, linenums]
----
<http:listener config-ref="HTTP_Listener_Configuration" path="/get" allowedMethods="GET" doc:name="HTTP"/>
----
+
. Add a Data Mapper to the flow to map the data in the input parameters for the custom PL/SQL operation.
+
[source, xml, linenums]
----
<data-mapper:transform config-ref="Map_To_Xml_InputParameters_"
          input-ref="#[message.inboundProperties[&quot;http.query.params&quot;]]"
          doc:name="Map To Xml&lt;InputParameters&gt;"/>
----
+
. Add the oracle:invoke-operation element now to validate login in your Oracle EBS instance. 
+
[source, xml, linenums]
----
<oracle-ebs:invoke-pl-sql config-ref="OracleEBS__Configuration" type="fnd_web_sec||VALIDATE_LOGIN" doc:name="Testing custom PL/SQL operation"/>
----
+
. Add a DOM to XML Transformer.
+
[source, xml, linenums]
----
<mulexml:dom-to-xml-transformer doc:name="DOM to XML"/>
----
+
. Add  a logger component and set message attribute value to _### EBS Test #[payload]_
+
[source, xml, linenums]
----
<logger message="### EBS Test #[payload]" level="INFO" doc:name="Logger"/>
----
+
. Add a Catch Exception Strategy and add logger inside it. Configure the logger message attribute with *#* _[payload]_, and set the level to _ERROR**.**_
+
[source, xml, linenums]
----
<catch-exception-strategy doc:name="Catch Exception Strategy">
            <logger message="Error: #[payload]" level="ERROR" doc:name="Logger"/>
        </catch-exception-strategy>
----
+
. Save and run the project as a Mule Application.
....

Example Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<mule xmlns:mulexml="http://www.mulesoft.org/schema/mule/xml" xmlns:data-mapper="http://www.mulesoft.org/schema/mule/ee/data-mapper" xmlns:oracle-ebs="http://www.mulesoft.org/schema/mule/oracle-ebs" xmlns:json="http://www.mulesoft.org/schema/mule/json" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.7.3"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http
http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/oracle-ebs http://www.mulesoft.org/schema/mule/oracle-ebs/current/mule-oracle-ebs.xsd
http://www.mulesoft.org/schema/mule/ee/data-mapper http://www.mulesoft.org/schema/mule/ee/data-mapper/current/mule-data-mapper.xsd
http://www.mulesoft.org/schema/mule/json http://www.mulesoft.org/schema/mule/json/current/mule-json.xsd
http://www.mulesoft.org/schema/mule/xml http://www.mulesoft.org/schema/mule/xml/current/mule-xml.xsd">
    <http:listener-config name="HTTP_Listener_Configuration" host="localhost" port="8081" doc:name="HTTP Listener Configuration"/>
    <oracle-ebs:config name="OracleEBS__Configuration" username="${username}" password="${password}" host="${host}" port="${port}" dbUser="${db.username}" dbPassword="${db.password}" dbHost="${db.host}" dbPort="${db.port}" dbSid="${db.sid}" responsibilityName="${responsibilityName}" responsibilityApplName="${responsibilityApplName}" doc:name="OracleEBS: Configuration">
        <oracle-ebs:custom-pl-sql-name-list>
            <oracle-ebs:custom-pl-sql-name-list>FND_WEB_SEC</oracle-ebs:custom-pl-sql-name-list>
        </oracle-ebs:custom-pl-sql-name-list>
    </oracle-ebs:config-name>
    <data-mapper:config name="Map_To_Xml_InputParameters_" transformationGraphPath="map_to_xml_inputparameters_.grf" doc:name="Map_To_Xml_InputParameters_"/>
    <flow name="oracle-ebs-exampleFlow">
        <http:listener config-ref="HTTP_Listener_Configuration" path="/" doc:name="HTTP"/>
        <data-mapper:transform config-ref="Map_To_Xml_InputParameters_" input-ref="#[message.inboundProperties[&quot;http.query.params&quot;]]" doc:name="Map To Xml&lt;InputParameters&gt;"/>
        <oracle-ebs:invoke-pl-sql config-ref="OracleEBS__Configuration" type="fnd_web_sec||VALIDATE_LOGIN" doc:name="OracleEBS"/>
        <mulexml:dom-to-xml-transformer doc:name="DOM to XML"/>
        <logger message="### EBS Test #[payload]" level="INFO" doc:name="Logger"/>
    </flow>
    <catch-exception-strategy name="oracle-ebs-exampleCatch_Exception_Strategy">
        <logger message="#[payload]" level="ERROR" doc:name="Logger"/>
    </catch-exception-strategy>
</mule>

Business Events Use Case

This use case describes how a basic flow should be configured in order to use the connector as a source. More specifically, this sample will subscribe to the Business Events topic and log all messages that arrive from it.

Adding to a Flow

  1. Create a new Mule project in Anypoint Studio.

  2. Drag a new Flow scope element onto the canvas.

  3. Add an Oracle EBS connector as an Inbound endpoint at the beginning of the flow.

  4. Drag a Logger to the Process section of the flow.

  5. Configure the connector’s parameters according to the table below.

    oracle_ebs_config_source_2

    Field

    Description

    Display Name

    Enter a unique label for the connector in your application.

    Connector Configuration

    Connect to a global element linked to this connector. Global elements encapsulate reusable data about the connection to the target resource or service. Select the global Oracle EBS connector element that you just created.

    Operation

    Select the queue or topic you wish to subscribe to from the dropdown. In this example, we will select Business Events, but you could also pick XML Gateway Outbound.

  6. Click the blank space on the canvas to save your configurations.

Example Use Case

Subscribe to the Business Events topic.

[tab,title="Studio Visual Editor"]
....
image:oracle_ebs_example_flow_source.png[oracle_ebs_example_flow_source]

. Create a Mule project in your Anypoint Studio.
. Drag a Flow into the canvas.
. Drag the Oracle EBS connector into the Source section of the flow, then configure it according to the steps below:
.. Add a new Oracle EBS Global Element by clicking the plus sign (*+*).
+
image:connectorconfig_source.png[connectorconfig_source]
+
.. Configure the global element according to the table below:
+
[width="100%",cols="50a,50a",options="header",]
|=======
|Field|Description
|*Name* |Enter a name you prefer
|*Username* |Username to log into Oracle EBS web services.
|*Password* |Password for the username.
|*Host* |Enter the host of the Oracle EBS instance.
|*Port* |Enter the port of the Oracle EBS web services.
|*DB Username* |Username for the Oracle EBS database.
|*DB Password* |Enter the password for the username.
|*DB Host* |Enter the host of the Oracle EBS database is located.
|*DB Port* |Enter the port of the Oracle EBS database.
|*Database SID* |Enter the SID of the database.
|*Responsibility Name* |Enter the responsibility name that is needed to execute the operation.
|*Responsibility Appl. Name* |Enter the application short name that is needed to execute the operation.
|*Security Group Name* |Enter the security group key of the Oracle EBS instance (optional).
|*NLS language* |Enter the NLS language of the Oracle EBS instance (optional).
|*Org. ID* |Enter the organization ID of the Oracle EBS instance (optional).
|*Custom PL/SQL web services* |Select *None*.
|*Required dependencies* |Select the location in your local file system for the Oracle AQ API and Oracle JDBC Driver. Both are used in the Test Connection process and subscription to queues and topics.
|=======
+
.. Click *Test Connection* to confirm that Mule can connect with the Oracle EBS instance. If the connection is successful, click *OK* to save the configurations. If unsuccessful, revise or correct any incorrect parameters, then test again.
. Back in the properties editor of the Oracle EBS connector, configure the remaining parameters according to the table below:
+
[cols=",",]
|=====
|*Field* |*Value*
|*Display Name* |Business Events (or any other name you prefer)
|*Connector Configuration* |OracleEBS__Configuration (Enter name of the global element you have created)
|*Operation* |Business events
|=====
+
. Add a *Logger* scope right after the EBS Connector, to print the messages received from the Business Events topic in the Mule Console. Configure the Logger according to the table below:
+
[width="100%",cols="50a,50a",options="header"]
|===
|*Field* |*Value*
|*Display Name* |Logger (or any other name you prefer)
|*Message* |`#[payload]`
|*Level* |INFO (Default)
|===
+
. Save and run the project as a Mule Application.
....
[tab,title="XML Editor"]
....
. Add an oracle:config global element to your project, then configure its attributes as follows:
+
[source, xml, linenums]
----
<oracle-ebs:config name="OracleEBS__Configuration" username="${username}" password="${password}" host="${host}" port="${port}" dbUser="${dbUser}" dbPassword="${dbPassword}" dbHost="${dbHost}" dbPort="${dbPort}" dbSid="${dbSid}" responsibilityName="${responsibilityName}" responsibilityApplName="${responsibilityApplName}" doc:name="OracleEBS: Configuration"/>
----
+
. Begin the flow with a Oracle EBS connector source, configuring the endpoint as follows:
+
[source, xml, linenums]
----
<oracle-ebs:business-events config-ref="OracleEBS__Configuration" doc:name="OracleEBS (Streaming)"/>
----
+
. Add  a logger component and set message attribute value to _#[payload]_
+
[source, xml, linenums]
----
<logger message="#[payload]" level="INFO" doc:name="Logger"/>
----
+
+
. Save and run the project as a Mule Application.
....

Example Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:oracle-ebs="http://www.mulesoft.org/schema/mule/oracle-ebs" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
        xmlns:spring="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/oracle-ebs http://www.mulesoft.org/schema/mule/oracle-ebs/current/mule-oracle-ebs.xsd">
    <oracle-ebs:config name="OracleEBS__Configuration" username="${username}" password="${password}" host="${host}" port="${port}" dbUser="${dbUser}" dbPassword="${dbPassword}" dbHost="${dbHost}" dbPort="${dbPort}" dbSid="${dbSid}" responsibilityName="${responsibilityName}" responsibilityApplName="${responsibilityApplName}" doc:name="OracleEBS: Configuration"/>
    <flow name="demo-business-eventsFlow">
        <oracle-ebs:business-events config-ref="OracleEBS__Configuration" doc:name="OracleEBS (Streaming)"/>
        <logger message="#[payload]" level="INFO" doc:name="Logger"/>
    </flow>
</mule>

See Also