Nav
You are viewing an older version of this section. Click here to navigate to the latest version.

Oracle E-Business Suite Connector

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 the Oracle site. Review the connector operations and functionality using the ApiDoc Technical Reference and demo applications.

Track feature additions, compatibility, limitations and API version updates with each release of the connector using the Oracle E-Business Suite (EBS) Connector Release Notes. MuleSoft maintains this connector under the Premium support policy.

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, via the WF_JMS_JMS_OUT topic.

The complete list of supported web service endpoints can be found here.

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

Namespace and Schema

When designing your application in Studio, the act of dragging the connector from the palette onto the Anypoint Studio canvas should automatically populate the XML code with the connector namespace and schema location.

If you are manually coding the Mule application in Studio’s XML editor or other text editor, paste these into the header of your Configuration XML inside the tags specified below.

Namespace

xmlns:oracle-ebs="http://www.mulesoft.org/schema/mule/oracle-ebs

Schema Location


          
       
1
2
3
xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/oracle-ebs http://www.mulesoft.org/schema/mule/oracle-ebs/current/mule-oracle-ebs.xsd
..."

Compatibility

Oracle EBS Connector 3.0.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

Please note that this connector only supports EBS version 12.1.x with SOA Gateway. Due to licensing changes by Oracle, version 12.2.x does not ship with SOA Gateway and will not work with this connector.

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.

    new project img

  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).

Follow these steps to create an Oracle EBS global element:

  1. Click the Global Elements tab at the base of the canvas.

  2. On the Global Mule Configuration Elements screen, click Create.

  3. In the Choose Global Type wizard, expand Connector Configuration, and then select OracleEBS: Configuration.

    oracle_ebs_connector_config

  4. Click OK.

  5. Configure the parameters according to the table below.

    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.

    oracle_ebs_global_element

  6. Configure your custom web services list according to the steps below:

    1. Select Create Object manually and then click the …​ button next to it.

      create-object-1

    2. In the pop-up window, select the plus sign (+) to add more entries, as needed.

    3. Right-click a metadata item and click Edit the selected metadata field to enter the values.

      oracle_ebs_enter_metadata

    4. Click OK to save the list.

  7. From the same global element properties window you accessed and configured in step 5, load the required external dependency JARs:

    req deps

    1. Click on the Modify button next to Oracle AQ API, and select the JAR file corresponding to this library. You can retrieve this file from your EBS instance, at $ORACLE_HOME/rdbms/jlib/aqapi.jar.

    2. Do the same for the Oracle Database JDBC Driver. This file can also be found in your instance, at the following path: $ORACLE_HOME/jdbc/lib/ojdbc6.jar.

  8. Click Test Connection and confirm receipt of the Connection Successful message.

  9. Click OK to save the global connector configurations.

    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.

Ensure you have included the Oracle EBS namespaces in your configuration file.


    
            
         
1
2
3
4
5
6
7
8
9
<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:

  1. Create a global Oracle EBS configuration outside and above your flows, using the following global configuration code.

    
           
                   
                
    1
    
    <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"/>

    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

Use the Oracle EBS connector as a message source if you wish to subscribe to queues. If your goal is to invoke web service operations, use the connector as an outbound, operation-based connector.

Supported Web Service Endpoints

This is a list of supported web service endpoints that the Oracle EBS connector supports.

  • Receivables

    • Dqm Search Service (/oracle/apps/ar/hz/service/party/DqmSearchService)

      • Find Parties

    • Email Business Object Services (/oracle/apps/ar/hz/service/party/EmailService)

      • Create E-mail

      • Get E-mail

      • Save E-mail

      • Update E-mail

    • Location Business Object Services (/oracle/apps/ar/hz/service/party/LocationService)

      • Create Location

      • Get Location

      • Save Location

      • Update Location

    • Organization Business Object Services (/oracle/apps/ar/hz/service/party/OrganizationService)

      • Create Organization

      • Get Organization

      • Get Organizations Created

      • Get Organizations Updated

      • Save Organization

      • Update Organization

    • Organization Contact Business Object Services (/oracle/apps/ar/hz/service/party/OrgContactService)

      • Create Organization Contact

      • Get Organization Contact

      • Save Organization Contact

      • Update Organization Contact

    • Organization Customer Business Object Services (/oracle/apps/ar/hz/service/account/OrgCustomerService)

      • Create Organization Customer

      • Get Organization Customer

      • Get Organization Customers Created

      • Get Organization Customers Updated

      • Save Organization Customer

      • Update Organization Customer

    • Party Site Business Object Services (/oracle/apps/ar/hz/service/party/PartySiteService)

      • Create Party Site

      • Get Party Site

      • Save Party Site

      • Update Party Site

    • Person Business Object Services (/oracle/apps/ar/hz/service/party/PersonService)

      • Create Person

      • Get Person

      • Get Persons Created

      • Get Persons Updated

      • Save Person

      • Update Person

    • Person Customer Business Object Services (/oracle/apps/ar/hz/service/account/PersonCustomerService)

      • Create Person Customer

      • Get Person Customer

      • Get Person Customers Created

      • Get Person Customers Updated

      • Save Person Customer

      • Update Person Customer

    • Phone Business Object Services (/oracle/apps/ar/hz/service/party/PhoneService)

      • Create Phone

      • Get Phone

      • Save Phone

      • Update Phone

    • Relationship Business Object Services (/oracle/apps/ar/hz/service/party/RelationshipService)

      • Create Relationship

      • Get Relationship

      • Save Relationship

      • Update Relationship

    • Web Business Object Services (/oracle/apps/ar/hz/service/party/WebService)

      • Create Web

      • Get Web

      • Save Web

      • Update Web

Regarding PL/SQL functions, the connector supports the following out of the box, alongside with custom functions.

  • Install Base

    • Manage Item Instances (CSI_ITEM_INSTANCE_PUB)

      • Copy Item Instance

      • Create Item Instance

      • Get Item Instances

      • Get Item Instance Details

      • Update Item Instance

  • Order Management

    • Process Order API (OE_ORDER_PUB)

      • Delete Line

      • Delete Order

      • Get Order

      • ID to Value

      • Lock Order

      • Process Header

      • Process Line

      • Process Order

      • Update Header

      • Update Line

      • Value to ID

    • Purchase Order Acknowledgments Extension Columns API (EC_POAO_EXT)

      • POAO Populate Ext Lev01

      • POAO Populate Ext Lev02

    • Purchase Order Change Acknowledgments Extension Columns API (EC_POCAO_EXT)

      • POCAO Populate Ext Lev01

      • POCAO Populate Ext Lev02

    • Sales Agreement API (OE_BLANKET_PUB)

      • Process Blanket

    • Ship Conformation (OE_SHIP_CONFIRMATION_PUB)

      • Ship Zero

  • Payables

    • Suppliers Package (AP_VENDOR_PUB_PKG)

      • Create Vendor

      • Create Vendor Contact

      • Create Vendor Site

  • Receivables

    • Invoice Creation (AR_INVOICE_API_PUB)

      • Create Invoice

      • Create Single Invoice

  • Trading Community

    • Location (HZ_LOCATION_V2PUB)

      • Create Location

      • Create Location 1

      • Update Location

      • Update Location 1

    • Party Contact (HZ_PARTY_CONTACT_V2PUB)

      • Create Org Contact

      • Create Org Contact Role

      • Update Org Contact

      • Update Org Contact Role

Subscribing to a Queue or a Topic

  • To subscribe to a queue or topic (such as the XML Gateway Outbound queue or the Business Events topic), you need to drag the connector to the "Source" section of your flow. After doing so, and selecting a connector configuration, you have to choose the queue/topic you wish to subscribe to, from the Operation dropdown.

    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.

      Field

      Description

      Display Name

      Enter a unique label for the connector in your application.

      Connector Configuration

      Select a Oracle EBS connector element that you have created.

      Operation

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

    6. Save your configurations.

Custom Attributes for Business Events

To set custom attributes for a business event besides the default attributes, you need to add the attributes manually, and create a subscription to the event.

  1. First, add attributes to an Oracle EBS business event. You can even run a script in your PL/SQL client for the purpose of creating the custom key-value pairs representing the custom messages or event attributes you require.

  2. Now add a subscription to the event you assigned new attributes to.

    1. Navigate to the Workflow Administrator Web Applications responsibility. Choose the Business Events you would like to modify.

    2. Click the plus sign to add a subscription to an event.

      add subscrip plus sign

    3. Click on Create Subscription.

      create subscription

  3. Provide appropriate values for each field. Find a description of the fields and values below, along with some screenshots of the workspace in which you configure these fields.

    1. Subscriber

      1. System - Designate the system you need subscribed to the event

    2. Triggering Event

      1. Event Filter - Enter the name of the business event that this subscription should be triggered by.

    3. Execution Condition

      1. Phase - a value greater than or equal to 100 means the subscription fires in an asynchronous way. Enter "100" for this field.

      2. Status - “Enabled”

      3. Rule Data - “Message”

    4. Action Type

      1. Action Type - "Custom"

        event subscription fields

        custom event subscription fields

At this point you should be set up to retrieve those custom attributes from the enqueued business events using the Oracle EBS connector.

Invoking a Web Service Operation

  • To invoke a web service operation, you must drag the connector to the "Process" section of your flow and fill in its input parameters. If the operation you need to invoke is a PL/SQL function exposed as a web service, select the Invoke PL/SQL Operation, and then make a selection from the PL/SQL and Function dropdown menus that appear in the General tab.

    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 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. Save your configurations.

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

PL/SQL Operation Use Case

Continue below to walk through a basic example that executes a PL/SQL operation from the custom PL/SQL web service.

oracle-ebs-plsql-example

  1. Create a Mule project in Anypoint Studio.

  2. Drag an HTTP connector onto the canvas, then select it to open the properties editor console.

  3. Add a new HTTP Listener Configuration global element:

    1. In General Settings, click the plus sign (+):

      connector-configuration-dropdown-general

    2. Configure the following HTTP parameters:

      Field Value

      Display Name

      HTTP_Listener_Configuration

      Port

      8081

    3. Reference the HTTP Listener Configuration global element by selecting the configuration created in the preview step, from the Connector Configuration dropdown:

  4. Drag the Oracle EBS connector onto the canvas, then configure it according to the steps below:

    1. Add a new Oracle EBS Global Element by clicking the plus sign (+).

    2. Configure the global element according to the table below:

      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 JAR files. Both are used in the Test Connection process and subscription to queues and topics.

    3. 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.

  5. Back in the properties editor of the Oracle EBS connector, configure the remaining parameters according to the table below:

    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]

    oracle_ebs_connector_operation_config

  6. Add a Transform Message 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.

  7. Configure the Input properties of the Transform Message component according to the steps below.

    1. On the left, under the Inbound Properties tree, click on http.query.params and then click on the Edit button. Enter the following code:

      %dw 1.0
      %output application/java
      ---
      {
      	"user": "sampleUser",
      	"password": "samplePassword"
      }
    2. Enter the following DataWeave code into the Transform Message text editor:

      %dw 1.0
      %output application/xml
      %namespace ns0
      http://xmlns.oracle.com/apps/fnd/soaprovider/plsql/fnd_web_sec/validate_login/
      ---
      {
      	ns0#InputParameters: {
      		ns0#"P_USER": inboundProperties."http.query.params".user,
      		ns0#"P_PWD": inboundProperties."http.query.params".password
      	}
      }
  8. Add a DOM to XML transformer after the Oracle EBS Connector.

  9. 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:

    Field Value

    Display Name

    Logger (or any other name you prefer)

    Message

    Output from Transformer is "### EBS Test #[payload]"

    Level

    INFO (Default)

  10. 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.

    Field Value

    Display Name

    Logger (or any other name you prefer)

    Message

    Error: #[payload]

    Level

    ERROR

  11. Save and run the project as a Mule Application by right-clicking the project name in the Package Explorer, selecting Run As > Mule Application.

    1. Open a browser and load the following URL: http://localhost:8081/?user=<username>&password=<password>;, replacing the <username> and <password> placeholders with a set of credentials.

    2. You should see the response of the FND_WEB_SEC PL/SQL operation, informing you if the provided credentials are valid or invalid.

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
31
32
33
34
35
36
37
38
39
40
41
&lt;?xml version="1.0" encoding="UTF-8"?&gt;

&lt;mule xmlns:dw="http://www.mulesoft.org/schema/mule/ee/dw" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:oracle-ebs="http://www.mulesoft.org/schema/mule/oracle-ebs" xmlns:mulexml="http://www.mulesoft.org/schema/mule/xml" 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/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/xml http://www.mulesoft.org/schema/mule/xml/current/mule-xml.xsd
http://www.mulesoft.org/schema/mule/ee/dw http://www.mulesoft.org/schema/mule/ee/dw/current/dw.xsd
http://www.mulesoft.org/schema/mule/oracle-ebs http://www.mulesoft.org/schema/mule/oracle-ebs/current/mule-oracle-ebs.xsd"&gt;
    &lt;http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/&gt;
    &lt;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"&gt;
        &lt;oracle-ebs:custom-pl-sql-name-list&gt;
            &lt;oracle-ebs:custom-pl-sql-name-list&gt;FND_WEB_SEC&lt;/oracle-ebs:custom-pl-sql-name-list&gt;
        &lt;/oracle-ebs:custom-pl-sql-name-list&gt;
    &lt;/oracle-ebs:config&gt;
    &lt;flow name="oracle-ebs-exampleFlow"&gt;
        &lt;http:listener config-ref="HTTP_Listener_Configuration" path="/" doc:name="HTTP"/&gt;
        &lt;dw:transform-message doc:name="Transform Message"&gt;
            &lt;dw:input-inbound-property doc:sample="map_string_string.dwl" propertyName="http.query.params"/&gt;
            &lt;dw:set-payload&gt;&lt;![CDATA[%dw 1.0
%output application/xml
%namespace ns0
http://xmlns.oracle.com/apps/fnd/soaprovider/plsql/fnd_web_sec/validate_login/
---
{
        ns0#InputParameters: {
                ns0#"P_USER": inboundProperties."http.query.params".user,
                ns0#"P_PWD": inboundProperties."http.query.params".password
        }
}]]&gt;&lt;/dw:set-payload&gt;
        &lt;/dw:transform-message&gt;
        &lt;oracle-ebs:invoke-pl-sql config-ref="OracleEBS__Configuration" type="fnd_web_sec||VALIDATE_LOGIN" doc:name="OracleEBS"/&gt;
        &lt;mulexml:dom-to-xml-transformer doc:name="DOM to XML"/&gt;
        &lt;logger message="### EBS Test #[payload]" level="INFO" doc:name="Logger"/&gt;
    &lt;/flow&gt;
    &lt;catch-exception-strategy name="oracle-ebs-exampleCatch_Exception_Strategy"&gt;
        &lt;logger message="Error: #[payload]" level="ERROR" doc:name="Logger"/&gt;
    &lt;/catch-exception-strategy&gt;
&lt;/mule&gt;

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 application will subscribe to the Business Events topic and log all messages that arrive from this topic.

oracle_ebs_example_flow_source

  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.

    oracle_ebs_config_source_2

    1. Add a new Oracle EBS Global Element by clicking the green plus sign (+).

    2. Configure the global element according to the table below:

      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 JAR files. Both are used in the Test Connection process and subscription to queues and topics.

    3. 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.

  4. Back in the properties editor of the Oracle EBS connector, configure the remaining parameters according to the table below:

    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

  5. 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:

    Field Value

    Display Name

    Logger (or any other name you prefer)

    Message

    #[payload]

    Level

    INFO (Default)

  6. Save and run the project as a Mule Application by right-clicking the project name in the Package Explorer, selecting Run As > Mule Application.

    1. For every Business Event that is fired, you will see the corresponding message taken from the queue in the console log.

Example Code


     
             
          
1
2
3
4
5
6
7
8
9
10
11
12
13
14
&lt;?xml version="1.0" encoding="UTF-8"?&gt;

&lt;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"&gt;
    &lt;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"/&gt;
    &lt;flow name="demo-business-eventsFlow"&gt;
        &lt;oracle-ebs:business-events config-ref="OracleEBS__Configuration" doc:name="OracleEBS (Streaming)"/&gt;
        &lt;logger message="#[payload]" level="INFO" doc:name="Logger"/&gt;
    &lt;/flow&gt;
&lt;/mule&gt;

See Also