Nav

Oracle E-Business Suite Connector

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 Oracle EBS 12.2, see the Oracle EBS 12.2 Connector.

Read through this user guide to understand how to set up and configure a basic flow using the connector. 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. Review the connector operations and functionality using the Technical Reference alongside the demo applications.

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 that you are familiar with Mule, Anypoint Connectors, and Anypoint Studio Essentials. To increase your familiarity with Studio, consider completing a Anypoint Studio Tutorial. This page requires some basic knowledge of Mule Concepts, Elements in a Mule Flow, and Global Elements.

Hardware and Software Requirements

For hardware and software requirements, please visit the Hardware and Software Requirements page.

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

Upgrading from an Older Version

If you’re currently using an older version of the connector, a small popup appears in the bottom right corner of Anypoint Studio with an "Updates Available" message.

  1. Click the popup and check for available updates. 

  2. Click the Connector version checkbox and click Next and follow the instructions provided by the user interface. 

  3. Restart Studio when prompted. 

  4. After restarting, when creating a flow and using the Oracle EBS Connector, if you have several versions of the connector installed, you may be asked which one you would like to use. Choose one and click OK.

Additionally, we recommend that you keep Studio up to date with its latest version.

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). Global elements can be of three types:

  1. Configuration: for web services and PL/SQL invocation.

  2. JMS Configuration: for Business Events and XML Gateway Outbound subscriptions using separate fields for database host, port and SID.

  3. JMS URL Configuration: for Business Events and XML Gateway Outbound subscriptions, using a database URL.

Follow these steps to create an Oracle EBS global element for web services and PL/SQL invocation:

  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.

    SSL

    If enabled, will attempt to make web services calls using HTTPS instead of HTTP.

    TrustStore file name

    Enter the path to a custom TrustStore for HTTPS calls (optional).

    TrustStore password

    Enter the password for the TrustStore (optional).

    Disable Common Name Checking

    Disables Common Name (CN) Checking on SSL certificates (optional).

    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. Click Test Connection and confirm receipt of the Connection Successful message.

  8. 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}" responsibilityName="${responsibilityName}" responsibilityApplName="${responsibilityApplName}" doc:name="OracleEBS: Configuration" disableCNCheck="true" sslEnabled="true" trustStorePassword="${tsPassword}" trustStorePath="TrustStore.ts"/>

    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.

    SSL

    If enabled, will attempt to make web services calls using HTTPS instead of HTTP.

    TrustStore file name

    Enter the path to a custom TrustStore for HTTPS calls (optional).

    TrustStore password

    Enter the password for the TrustStore (optional).

    Disable Common Name Checking

    Disables Common Name (CN) Checking on SSL certificates (optional).

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

Follow these steps to create an Oracle EBS global element for Business Events or XML Gateway Outbound subscriptions:

  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: JMS 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 for the Oracle EBS database.

    Password

    Enter the password for the username.

    Host

    Enter the host of the Oracle EBS database.

    Port

    Enter the port of the Oracle EBS database.

    Database SID

    Enter the SID of the database.

    oracle_ebs_jms_global_element

  6. From the same global element properties window, 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.

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

  8. Click OK to save the global connector configurations.

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:jmsconfig name="OracleEBS__JMS_Configuration" username="${username}" password="${password}" host="${host}" port="${port}" sid="${sidd}" doc:name="OracleEBS: JMS Configuration"/>

    Parameter

    Description

    Name

    Enter a name for the configuration with which it can be referenced later.

    Username

    Username for the Oracle EBS database.

    Password

    Enter the password for the username.

    Host

    Enter the host of the Oracle EBS database is located.

    Port

    Enter the port of the Oracle EBS database.

    Database SID

    Enter the SID of the database.

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.

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, define the namespace and schema location in the header of your Configuration XML, inside the <mule> tag.

         
      
1
2
3
4
5
6
7
8
9
10
11
12
<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">

      <!-- put your global configuration elements and flows here -->

</mule>

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 an "OracleEBS: JMS Configuration" 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.

      Durable Subscription

      (Only for Business Events) If checked, a durable subscription will be created. This means that if the client loses connectivity, all messages uploaded to the topic during this period will be retrieved as soon as it is restablished.

      Subscription Name

      (Only for Business Events) If you wish to create a durable subscription, you can specify its name. If not, it will default to "muleBusinessEvents".

    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 "OracleEBS: Configuration" 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 "OracleEBS: Configuration" 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.

      SSL

      If enabled, will attempt to make web services calls using HTTPS instead of HTTP.

      TrustStore file name

      Enter the path to a custom TrustStore for HTTPS calls (optional).

      TrustStore password

      Enter the password for the TrustStore (optional).

      Disable Common Name Checking

      Disables Common Name (CN) Checking on SSL certificates (optional).

      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.

    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}" 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 "OracleEBS: JMS Configuration" Global Element by clicking the green plus sign (+).

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

      Field Description

      Name

      Enter a name for the configuration with which it can be referenced later.

      Username

      Username for the Oracle EBS database.

      Password

      Enter the password for the username.

      Host

      Enter the host of the Oracle EBS database.

      Port

      Enter the port of the Oracle EBS database.

      Database SID

      Enter the SID of the database.

      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

    Durable Subscription

    If checked, a durable subscription will be created. This means that if the client loses connectivity, all messages uploaded to the topic during this period will be retrieved as soon as it is restablished.

    Subscription Name

    If you wish to create a durable subscription, you can specify its name. If not, it will default to "muleBusinessEvents".

  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:jmsconfig name="OracleEBS__JMS_Configuration" doc:name="OracleEBS: JMS Configuration" host="${host}" password="${password}" port="${port}" sid="${sid}" username="${username}"/&gt;
    &lt;flow name="demo-business-eventsFlow"&gt;
        &lt;oracle-ebs:business-events config-ref="OracleEBS__JMS_Configuration" doc:name="OracleEBS (Streaming)"/&gt;
        &lt;logger message="#[payload]" level="INFO" doc:name="Logger"/&gt;
    &lt;/flow&gt;
&lt;/mule&gt;

Resources