Skip Headers
Oracle® Fusion Middleware Application Adapter for J.D. Edwards OneWorld User's Guide for Oracle WebLogic Server
11g Release 1 (11.1.1.3.0)

Part Number E17058-03
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

4 Integration With BPEL Service Components in the Oracle SOA Suite

Oracle Application Adapter for J.D. Edwards OneWorld integrates seamlessly with Business Process Execution Language (BPEL) Process Manager to facilitate Web service integration. Oracle BPEL Process Manager is based on the Service-Oriented Architecture (SOA). It consumes adapter services exposed as Web Service Definition Language (WSDL) documents.

This chapter contains the following topics:

Overview

To integrate with Oracle BPEL Process Manager, Oracle Application Adapter for J.D. Edwards OneWorld must be deployed in the same WLS container as Oracle BPEL Process Manager. The underlying adapter services must be exposed as WSDL files, which are generated during design time in Oracle Application Adapter Application Explorer (Application Explorer) for both request-response (outbound) and event notification (inbound) services of the adapter. For more information, see Chapter 2, "Configuring Oracle Application Adapter for J.D. Edwards OneWorld".

The generated WSDL files are used to design the appropriate BPEL processes for inbound or outbound adapter services. A completed BPEL process must be successfully compiled in Oracle JDeveloper and deployed to a BPEL server. Upon deployment to the BPEL server, every newly built process is automatically deployed to the Oracle Enterprise Manager console, where you run, monitor, administer BPEL processes, and listen to adapter events.

Deployment of Adapter

During installation, Oracle Application Adapter for J.D. Edwards OneWorld is deployed as a J2CA 1.0 resource adapter within the WLS container. The adapter must be deployed in the same WLS container as Oracle BPEL Process Manager.

Configuring a New Application Server Connection

To configure a new Application Server connection in Oracle JDeveloper:

  1. Open Oracle JDeveloper on your system.

  2. From the menu bar, click View and select Application Server Navigator, as shown in Figure 4-1.

    Figure 4-1 Application Server Navigator

    Oracle JDeveloper View menu
    Description of "Figure 4-1 Application Server Navigator"

    The Application Server tab is displayed, as shown in Figure 4-2.

    Figure 4-2 Application Server Tab

    Application Server tab
    Description of "Figure 4-2 Application Server Tab"

  3. Right-click Application Servers, and then select New Application Server.

    The Create Application Server Connection Wizard is displayed, as shown in Figure 4-3.

    Figure 4-3 Create Application Server Connection Wizard

    Create Application Server Connection Wizard
    Description of "Figure 4-3 Create Application Server Connection Wizard"

  4. Accept the default selection (Standalone Server) and click Next.

    The Name and Type page is displayed, as shown in Figure 4-4.

    Figure 4-4 Name and Type Page

    Name and Type pane
    Description of "Figure 4-4 Name and Type Page"

  5. Specify a new name for the Application Server connection and click Next.

    The Authentication page is displayed, as shown in Figure 4-5.

    Figure 4-5 Authentication Page

    Authentication pane
    Description of "Figure 4-5 Authentication Page"

  6. Specify a valid user name (for example, weblogic) and a password (for example, welcome1) for your new connection.

  7. Click Next.

    The Configuration page is displayed, as shown in Figure 4-6.

    Figure 4-6 Configuration Page

    Configuration pane
    Description of "Figure 4-6 Configuration Page"

  8. Specify the Oracle WebLogic host name (for example, localhost), which is the machine IP where the process needs to deploy and Oracle WebLogic domain (for example, base_domain).

  9. Click Next.

    The Test page is displayed, as shown in Figure 4-7.

  10. Click Test Connection.

  11. Ensure that the test status is successful.

  12. Click Next.

    The Finish page is displayed, as shown in Figure 4-8.

  13. Click Finish.

    The new Application Server connection is listed in the left pane (Application Server tab), shown in Figure 4-9.

    Figure 4-9 New Application Server Connection

    Application Server tab
    Description of "Figure 4-9 New Application Server Connection"

Designing an Outbound BPEL Process for Service Integration

The following tools are required to complete your adapter design-time configuration:

Note:

The examples in this chapter demonstrate the use of Oracle JDeveloper.

Before you design a BPEL process, you must generate WSDL using Application Explorer. For more information, see "Generating WSDL for Request/Response Service". The WSDL generated in Application Explorer is used during the BPEL process configuration.

Generating WSDL for Request/Response Service

Perform the following steps to generate a WSDL for request/response service:

  1. Start Application Explorer and connect to a defined J.D. Edwards OneWorld target.

    For more information, see "Defining a Target to J.D. Edwards OneWorld".

  2. Expand Services, CALLBSFN, and Addressbook.

    Figure 4-10 Create Outbound JCA Service(Request/Response) Option

    Application Explorer context menu
    Description of "Figure 4-10 Create Outbound JCA Service(Request/Response) Option"

  3. Right-click GetEffectiveAddress, and then select Create Outbound JCA Service (Request/Response), as shown in Figure 4-10.

    The Export WSDL dialog is displayed, as shown in Figure 4-11.

    Figure 4-11 Export WSDL Dialog

    Export WSDL dialog box
    Description of "Figure 4-11 Export WSDL Dialog"

  4. Accept the default name for the file.

    The .wsdl file extension is added automatically. By default, the names of WSDL files generated for request-response services end with _invoke.

  5. Click OK.

You can now create a new SOA application, which is the first step that is required to define a BPEL outbound process in Oracle JDeveloper.

Creating a New SOA Application for the Outbound BPEL Process

Perform the following steps to create a new SOA application for the outbound BPEL process:

  1. Open Oracle JDeveloper on your system.

  2. Click Application in the menu bar and select New from the menu, as shown in Figure 4-12.

    Figure 4-12 Application Menu

    Application menu
    Description of "Figure 4-12 Application Menu"

    The Create SOA Application wizard is displayed, as shown in Figure 4-13.

    Figure 4-13 Create SOA Application Wizard

    Create SOA Application wizard
    Description of "Figure 4-13 Create SOA Application Wizard"

  3. From the Application Template list, click SOA Application.

  4. Enter a name for the new SOA application (for example, JDE_Outbound_BPEL) and click Next.

    The Name your project page is displayed, as shown in Figure 4-14.

    Figure 4-14 Name Your Project Page

    Name your project pane
    Description of "Figure 4-14 Name Your Project Page"

  5. Enter a project name (for example, GetEffectiveAddress_Invoke) and click Next.

    The Configure SOA settings page is displayed, as shown in Figure 4-15.

    Figure 4-15 Configure SOA Settings Page

    Configure SOA settings pane
    Description of "Figure 4-15 Configure SOA Settings Page"

  6. From the Composite Template list, select Empty Composite and click Finish.

    Figure 4-16 Application Navigator Tab

    Application Navigator tab
    Description of "Figure 4-16 Application Navigator Tab"

    The new SOA application (JDE_Outbound_BPEL) and associated project (GetEffectiveAddress_Invoke) are added to the Application Navigator tab in the left pane, as shown in Figure 4-16.

Defining a BPEL Outbound Process

This section describes how to define a BPEL outbound process, which consists of the following stages:

  1. Configuring a Third Party Adapter Service Component

  2. Configuring an Outbound BPEL Process Component

Configuring a Third Party Adapter Service Component

Perform the following steps to create a third party adapter service component:

  1. Drag and drop the Third Party Adapter component from the Component Palette tab (Service Adapters section) to the External References pane, as shown in Figure 4-17.

    Figure 4-17 Third Party Adapter Component

    External References pane
    Description of "Figure 4-17 Third Party Adapter Component"

    The Create Third Party Adapter Service dialog is displayed, as shown in Figure 4-18.

    Figure 4-18 Create Third Party Adapter Service Dialog

    Create Third Party Adapter Service dialog box
    Description of "Figure 4-18 Create Third Party Adapter Service Dialog"

  2. Enter a name for the new third party adapter service.

  3. Ensure that Reference is selected from the Type list (default).

  4. Click the Find existing WSDLs icon, which is located to the right of the WSDL URL field.

    The SOA Resource Browser dialog is displayed, as shown in Figure 4-19.

    Figure 4-19 SOA Resource Browser Dialog

    SOA Resource Browser dialog box
    Description of "Figure 4-19 SOA Resource Browser Dialog"

  5. Browse and select an outbound WSDL file (for example, GetEffectiveAddress_invoke.wsdl) from the following directory:

    <ADAPTER_HOME>\soa\thirdparty\ApplicationAdapters\wsdls
    
  6. Click OK.

    The Localize Files dialog is displayed, as shown in Figure 4-20.

    Figure 4-20 Localize Files Dialog

    Localize Files dialog box
    Description of "Figure 4-20 Localize Files Dialog"

  7. Click OK.

    The outbound WSDL file and associated request and response XML schema files (.xsd) are imported to the project folder that has been created.

    You are returned to the Create Third Party Adapter Service dialog, as shown in Figure 4-21.

    Figure 4-21 Create Third Party Adapter Service Dialog

    Create Third Party Adapter Service dialog box
    Description of "Figure 4-21 Create Third Party Adapter Service Dialog"

  8. Click the Find JCA Files icon, which is located to the right of the JCA File field.

    The SOA Resource Browser dialog is displayed, as shown in Figure 4-22.

    Figure 4-22 SOA Resource Browser Dialog

    SOA Resource Browser dialog box
    Description of "Figure 4-22 SOA Resource Browser Dialog"

  9. Browse and select the JCA properties file (for example, GetEffectiveAddress_invoke.jca) from the following directory:

    <ADAPTER_HOME>\soa\thirdparty\ApplicationAdapters\wsdls
    
  10. Click OK.

    The Copy File message is displayed, as shown in Figure 4-23.

    Figure 4-23 Copy File Confirmation Message

    Copy File message
    Description of "Figure 4-23 Copy File Confirmation Message"

  11. Click Yes.

    A copy of the JCA properties file is made in the project folder.

    You are returned to the Create Third Party Adapter Service dialog, as shown in Figure 4-24.

    Figure 4-24 Create Third Party Adapter Service Dialog

    Create Third Party Adapter Service dialog box
    Description of "Figure 4-24 Create Third Party Adapter Service Dialog"

  12. Click OK.

    The third party adapter service component (GetEffectiveAddress) is created and displayed in the External References pane, as shown in Figure 4-25.

    Figure 4-25 Third Party Adapter Service Component

    External References pane
    Description of "Figure 4-25 Third Party Adapter Service Component"

    You are now ready to configure an outbound BPEL process component.

Configuring an Outbound BPEL Process Component

Perform the following steps to configure an outbound BPEL process component:

  1. Drag and drop the BPEL Process component from the Component Palette tab (Service Components section) to the Components pane, as shown in Figure 4-26.

    Figure 4-26 BPEL Process Component

    Components pane
    Description of "Figure 4-26 BPEL Process Component"

    The Create BPEL Process dialog is displayed, as shown in Figure 4-27.

    Figure 4-27 Create BPEL Process Dialog

    Create BPEL Process dialog box
    Description of "Figure 4-27 Create BPEL Process Dialog"

  2. In the Name field, enter a name to identify the new outbound BPEL process component (for example, GetEffectiveAddress_Out).

  3. From the Template list, select Synchronous BPEL Process.

  4. Click the Browse Input Elements icon, which is located to the right of the Input field to select the associated XML request schema file.

    The Type Chooser dialog is displayed, as shown in Figure 4-28.

    Figure 4-28 Type Chooser Dialog

    Type Chooser dialog box
    Description of "Figure 4-28 Type Chooser Dialog"

  5. Expand Project Schema Files, GetEffectiveAddress_invoke_request.xsd, and select jdeRequest.

  6. Click OK.

    You are returned to the Create BPEL Process dialog, as shown in Figure 4-29.

    Figure 4-29 Create BPEL Process Dialog

    Create BPEL Process dialog box
    Description of "Figure 4-29 Create BPEL Process Dialog"

  7. Click the Browse Output Elements icon, which is located to the right of the Output field to select the associated XML response schema file.

    The Type Chooser dialog is displayed, as shown in Figure 4-30.

    Figure 4-30 Type Chooser Dialog

    Type Chooser dialog box
    Description of "Figure 4-30 Type Chooser Dialog"

  8. Expand Project Schema Files, GetEffectiveAddress_invoke_response.xsd, and select jdeResponse.

  9. Click OK.

    You are returned to the Create BPEL Process dialog, as shown in Figure 4-31.

    Figure 4-31 Create BPEL Process Dialog

    Create BPEL Process dialog box
    Description of "Figure 4-31 Create BPEL Process Dialog"

  10. Click OK.

  11. Create a connection between the outbound BPEL process component (GetEffectiveAddress_Out) and the third party adapter service component (GetEffectiveAddress), as shown in Figure 4-32.

    Figure 4-32 Created Connection

    Oracle JDeveloper workspace area
    Description of "Figure 4-32 Created Connection"

  12. Double-click the outbound BPEL process component (GetEffectiveAddress_Out) in the Components pane, as shown in Figure 4-33.

    Figure 4-33 Outbound BPEL Process Component

    Oracle JDeveloper workspace area
    Description of "Figure 4-33 Outbound BPEL Process Component"

  13. Drag and drop the Invoke activity component to the Components pane and place it between the receiveInput activity component and the replyOutput activity component, as shown in Figure 4-34.

    Figure 4-34 Invoke Activity Component

    Oracle JDeveloper workspace area
    Description of "Figure 4-34 Invoke Activity Component"

  14. Create a connection between the new Invoke activity component (Invoke_1) and the third party adapter service component (GetEffectiveAddress), as shown in Figure 4-35.

    Figure 4-35 Created Connection

    Oracle JDeveloper workspace area
    Description of "Figure 4-35 Created Connection"

    The Edit Invoke dialog is displayed, as shown in Figure 4-36.

    Figure 4-36 Edit Invoke Dialog

    Edit Invoke dialog box
    Description of "Figure 4-36 Edit Invoke Dialog"

  15. Click the Automatically Create Input Variable icon, which is located to the right of the Input field to configure a new input variable.

    The Create Variable dialog is displayed, as shown in Figure 4-37.

    Figure 4-37 Create Variable Dialog

    Create Variable dialog box
    Description of "Figure 4-37 Create Variable Dialog"

  16. Accept the default values that are provided for the new input variable and click OK.

    You are returned to the Edit Invoke dialog, as shown in Figure 4-38.

    Figure 4-38 Edit Invoke Dialog

    Edit Invoke dialog box
    Description of "Figure 4-38 Edit Invoke Dialog"

  17. Click the Automatically Create Output Variable icon, which is located to the right of the Output field to configure a new output variable.

    The Create Variable dialog is displayed, as shown in Figure 4-39.

    Figure 4-39 Create Variable Dialog

    Create Variable dialog box
    Description of "Figure 4-39 Create Variable Dialog"

  18. Accept the default values that are provided for the new output variable and click OK.

    You are returned to the Edit Invoke dialog, as shown in Figure 4-40.

    Figure 4-40 Edit Invoke Dialog

    Edit Invoke dialog box
    Description of "Figure 4-40 Edit Invoke Dialog"

  19. Click Apply and then OK.

    The Invoke activity component (Invoke_1) is updated accordingly, as shown in Figure 4-41.

    Figure 4-41 Invoke Activity Component (Invoke _1)

    Oracle JDeveloper workspace area
    Description of "Figure 4-41 Invoke Activity Component (Invoke _1)"

  20. Drag and drop the Assign activity component to the Components pane and place it between the Receive activity component (receiveInput) and the Invoke activity component (Invoke_1), as shown in Figure 4-42.

    Figure 4-42 Assign Activity Component

    Oracle JDeveloper workspace area
    Description of "Figure 4-42 Assign Activity Component"

  21. Double-click the new Assign activity component (Assign_1).

    The Assign dialog is displayed, as shown in Figure 4-43.

    Figure 4-43 Assign Dialog

    Assign dialog box
    Description of "Figure 4-43 Assign Dialog"

  22. Click the Copy Operation tab.

  23. Click the Plus sign icon and select Copy Operation from the list of available operations.

    The Create Copy Operation dialog is displayed, as shown in Figure 4-44.

    Figure 4-44 Create Copy Operation Dialog

    Create Copy Operation dialog box
    Description of "Figure 4-44 Create Copy Operation Dialog"

  24. In the From pane, expand Variables, InputVariable, and then select payload.

  25. In the To pane, expand Variables, Invoke_1_GetEffectiveAddress_InputVariable, and then select input_GetEffectiveAddress.

  26. Click OK.

    You are returned to the Assign dialog, as shown in Figure 4-45.

    Figure 4-45 Assign Dialog

    Assign dialog box
    Description of "Figure 4-45 Assign Dialog"

  27. Click Apply and then OK.

  28. Drag and drop the Assign activity component to the Components pane and place it between the Invoke activity (Invoke_1) and the Reply activity (replyOutput), as shown in Figure 4-46.

    Figure 4-46 Assign Activity Component

    Oracle JDeveloper workspace area
    Description of "Figure 4-46 Assign Activity Component"

  29. Double-click the new Assign activity component (Assign_2).

    The Assign dialog is displayed, as shown in Figure 4-47.

    Figure 4-47 Assign Dialog

    Assign dialog box
    Description of "Figure 4-47 Assign Dialog"

  30. Click the Copy Operation tab.

  31. Click the Plus sign icon and select Copy Operation from the list of available operations.

    The Create Copy Operation dialog is displayed, as shown in Figure 4-48.

    Figure 4-48 Create Copy Operation Dialog

    Create Copy Operation dialog box
    Description of "Figure 4-48 Create Copy Operation Dialog"

  32. In the From pane, expand Variables, Invoke_1_GetEffectiveAddress_OutputVariable, and then select output_GetEffectiveAddress.

  33. In the To pane, expand Variables, outputVariable, and then select payload.

  34. Click OK.

    You are returned to the Assign dialog, as shown in Figure 4-49.

    Figure 4-49 Assign Dialog

    Assign dialog box
    Description of "Figure 4-49 Assign Dialog"

  35. Click Apply and then OK.

    The completed activity flow is now displayed, as shown in Figure 4-50.

    Figure 4-50 Completed Activity Flow

    completed activity flow
    Description of "Figure 4-50 Completed Activity Flow"

  36. Double-click composite.xml in the left pane, as shown in Figure 4-51.

    Figure 4-51 Composite.xml Tab

    Oracle JDeveloper workspace area
    Description of "Figure 4-51 Composite.xml Tab"

  37. Click the Save All icon in the menu bar to save the new outbound BPEL process component that was configured, as shown in Figure 4-52.

    Figure 4-52 Save All Icon

    Save All icon
    Description of "Figure 4-52 Save All Icon"

    You are now ready to deploy the BPEL outbound process.

Deploying the BPEL Outbound Process

Perform the following steps to deploy the BPEL outbound process.

  1. Right-click the project name in the left pane (for example, GetEffectiveAddress_Invoke), select Deploy, and then click GetEffectiveAddress_Invoke, as shown in Figure 4-53.

    Figure 4-53 Deploy Option

    Deploy context menu
    Description of "Figure 4-53 Deploy Option"

    The Deployment Action page is displayed, as shown in Figure 4-54.

    Figure 4-54 Deployment Action Page

    Deployment Action pane
    Description of "Figure 4-54 Deployment Action Page"

  2. Ensure that Deploy to Application Server is selected.

  3. Click Next.

    The Deploy Configuration page is displayed, as shown in Figure 4-55.

    Figure 4-55 Deploy Configuration Page

    Deploy Configuration pane
    Description of "Figure 4-55 Deploy Configuration Page"

  4. Leave the default values selected and click Next.

    The Select Server page is displayed, as shown in Figure 4-56.

    Figure 4-56 Select Server Page

    Select Server pane
    Description of "Figure 4-56 Select Server Page"

  5. Select an available application server that was configured and click Next.

    The SOA Servers page is displayed, as shown in Figure 4-57.

    Figure 4-57 SOA Servers Page

    SOA Servers page
    Description of "Figure 4-57 SOA Servers Page"

  6. Select a target SOA server and click Next.

    The Summary page is displayed, as shown in Figure 4-58.

  7. Review and verify all the available deployment information for your project and click Finish.

    The process is deployed successfully, as shown in Figure 4-59.

    Figure 4-59 Successful Deployment Message

    SOA Log tab
    Description of "Figure 4-59 Successful Deployment Message"

Invoking the Input XML Document in the Oracle Enterprise Manager Console

Perform the following steps to invoke the input XML document in the Oracle Enterprise Manager console.

  1. Log in to the Oracle Enterprise Manager console by using the following URL:

    http://localhost:7001/em
    
  2. Expand your domain in the left pane followed by the SOA folder.

    Figure 4-60 Oracle Enterprise Manager Console

    Oracle Enterprise Manager console
    Description of "Figure 4-60 Oracle Enterprise Manager Console"

  3. Select an available project (for example, JDE_Outbound_GetEffectiveAddress_BPEL), as shown in Figure 4-60.

  4. Click Test in the right pane, as shown in Figure 4-61.

    The Test Web Service page is displayed, as shown in Figure 4-62.

    Figure 4-62 Test Web Service Page

    Request tab
    Description of "Figure 4-62 Test Web Service Page"

  5. Click the Request tab.

  6. Scroll down to the Input Arguments section, as shown in Figure 4-63.

    Figure 4-63 Input Arguments Section

    Input Arguments section
    Description of "Figure 4-63 Input Arguments Section"

  7. Select XML View from the list in the upper-left corner.

  8. Provide an appropriate input XML document in the Input Arguments area.

    For example:

    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">          <soap:Body xmlns:ns="urn:iwaysoftware:jde/services/CALLBSFN/Addressbook/GetEffectiveAddress">                 <ns:jdeRequest sessionidle="" type="callmethod" session="">     <ns:callMethod trans="" app="" returnNullData="yes" name="GetEffectiveAddress" runOnError="yes">          <ns:params>                  <ns:param name="mnAddressNumber">4242</ns:param>           </ns:params>         <ns:onError abort="yes"/>     </ns:callMethod></ns:jdeRequest>    </soap:Body></soap:Envelope>
    
  9. Click Test Web Service.

    The output response is received in the Response tab of the Oracle Enterprise Manager console, as shown in Figure 4-64.

    Figure 4-64 Output Response

    Response tab
    Description of "Figure 4-64 Output Response"

Testing Outbound BPEL and Mediator Processes

When testing an outbound BPEL process or an outbound Mediator process from the Oracle Enterprise Manager console, do not use the XML envelopes that are generated by these consoles. Instead, remove them and use the XML payloads that are generated from the schemas, which conform to the WSDLs for namespace qualifications.

The Mediator data flows can be tested using the Enterprise Manager console. When creating a Mediator data flow and interactions, the Web services are created and registered with the Oracle Application Server. For more information on creating a Mediator outbound process, see Chapter 5, "Integration With Mediator Service Components in the Oracle SOA Suite".

Designing an Inbound BPEL Process for Event Integration

This section illustrates how Oracle Application Adapter for J.D. Edwards OneWorld integrates with J.D. Edwards OneWorld to receive event data. The design-time and run-time configuration procedures are outlined in the following sections.

The following tools are required to complete your adapter design-time configuration:

Note:

The examples in this chapter demonstrate the use of Oracle JDeveloper.

Before you design a BPEL process, you must generate the respective WSDL file using Application Explorer. For more information, see "Generating WSDL for Event Integration".

Generating WSDL for Event Integration

Before you design a BPEL process using Oracle JDeveloper, you must create a separate channel for every J2CA event and select that channel when you generate WSDL for inbound interaction using Application Explorer.

Note:

If two or more events share the same channel, then event messages may not be delivered to the right BPEL process.

Creating a Channel in Application Explorer

To create a channel:

  1. In Application Explorer, expand the JDEdwards node.

  2. Right-click the Channels node, and select Add Channels.

    The Add Channel dialog is displayed, as shown in Figure 4-65.

    Figure 4-65 Add Channel Dialog

    Add Channel dialog box
    Description of "Figure 4-65 Add Channel Dialog"

  3. In the Name field, enter a descriptive name for the channel.

  4. In the Description field, enter a description (optional).

  5. From the Protocol list, choose a protocol for your channel.

  6. Click Next.

    The dialog is displayed for the selected listener, as shown in Figure 4-66.

    Figure 4-66 TCP Listener Dialog

    System tab
    Description of "Figure 4-66 TCP Listener Dialog"

  7. Enter the port number of the channel in the Port Number field.

  8. Enter the location of the server in the Host/IP Binding field.

  9. Select the Synchronization type from the Synchronization Type list.

  10. Select Is Length Prefix for events that send data which is not in XML format. The TCP/IP event application must prefix the data with a 4-byte binary length field when writing the data to the TCP/IP port.

  11. Select Is XML for events that send data back in XML format. No preparser is required.

  12. Select Is Keep Alive to maintain a continuous communication between the event transaction and the channel.

  13. Click the PreParser tab, as shown in Figure 4-67.

    Figure 4-67 PreParser Tab

    User tab
    Description of "Figure 4-67 PreParser Tab"

    Enter values based on the table.

    Parameter Description
    User id* A valid user ID for J.D. Edwards OneWorld.
    User password* The password associated with the user ID.
    JDE environment* Your J.D. Edwards OneWorld environment. For more information about this parameter, see your J.D. Edwards OneWorld documentation or ask your OneWorld system administrator.
    Application XMLInterop or the application name in J.D. Edwards OneWorld. Optional.
    Server IP address* The name of the server on which J.D. Edwards OneWorld is running. This can be the name of the server, for example, JDEOW, or its IP address, for example, 123.45.67.89.
    Server Port* The port number on which the server is listening, for example, 6009.
    User Role Define a user role according to your requirements.
    Schema Location The location of the XML schema (.xsd file) that was generated from the event output. For example:
    <ADAPTER_HOME>\soa\thirdparty\ApplicationAdapters\config\config_name\schemas\JDEdwards\target_name\jde-schema.xsd
    

    For more information, see "Generating WSDL for Inbound Interaction".

    Schema style Choose from one of the following options:
    • ELEMENT_STYLE (default)

    • ATTRIBUTE_STYLE


    Click OK.

    The channel is created and displayed under the Channels node. An X over the icon indicates that the channel is currently disconnected.

    Note:

    The channel you created in Application Explorer is managed by BPEL PM Server. If you start the channel for testing and debugging purposes, then stop it before run-time.

Generating WSDL for Event Notification (Command Prompt Only)

You cannot generate WSDL for J.D. Edwards OneWorld event notification using Application Explorer. To generate WSDL from the command prompt, you must perform the following steps.

You can create inbound J2CA service only if the node you have selected supports events.

Note:

The schema validation options (Root, Namespace, Schema) are not applicable for the Oracle Application Adapter for J.D. Edwards OneWorld.

To generate a WSDL file for J.D. Edwards OneWorld event notification:

  1. Create a channel in Application Explorer under the J.D. Edwards events node.

  2. Start the channel.

    Important: Do not restart the BPEL PM Server or Oracle Application Server after the channel is started.

  3. Send an inbound message from J.D. Edwards OneWorld.

  4. Capture the inbound message payload in the log file located under:

    <ADAPTER_HOME>\soa\thirdparty\ApplicationAdapters\config\jca_sample\log\iwaf_jca1500.log
    

    Alternatively, you can create a port with the File protocol under Event in Application Explorer to dispose the event message to the file system.

  5. Use a third party tool such as XMLSpy to create the XSD schema using the XML payload captured in the previous step.

  6. In the generated XML schema (.xsd file) perform the following modifications:

    1. Search for Schemas-jdedwards-com and replace it with iwaysoftware.

    2. Cut the following syntax:

      <xs:element name="jdeResponse"><xs:complexType>  </xs:complexType>  </xs:element>
      
    3. Paste it before the following line:

      <xs:element name="transaction">
      
  7. Copy the XML schema (.xsd file) from the following directory:

    <ADAPTER_HOME>\soa\thirdparty\ApplicationAdapters\config\config_name\schemas\JDEdwards\target_name\
    

    Note:

    Edit the created channel by providing the location of the schema (.xsd) file (as mentioned in step 7) in the PreParser tab of Application Explorer. For example:
    <ADAPTER_HOME>\soa\thirdparty\ApplicationAdapters\config\config_name\schemas\JDEdwards\target_name\jde-schema.xsd
    
  8. Open a command prompt and navigate to the following directory:

    <ADAPTER_HOME>\soa\thirdparty\ApplicationAdapters\tools\iwae\bin
    
  9. Execute the obadapter.bat file to set the environment.

  10. Navigate to the following directory where the XML schema (.xsd file) is copied:

    <ADAPTER_HOME>\soa\thirdparty\ApplicationAdapters\config\config_name\schemas\JDEdwards\target_name\
    
  11. Enter the following command to generate a WSDL:

    java -Diway.oem=oracle11g com.iwaysoftware.af.container.tools.wsdl.IWayWSILBrowser adapterhome adapter target channel schemaPrefix wsdlFileName
    

    where:

    adapterhome is the path to your ApplicationAdapters home. For example:

    <ADAPTER_HOME>\soa\thirdparty\ApplicationAdapters\
    

    adapter is the name of the adapter. For example, JDEdwards.

    target is the name of the adapter target you created in Application Explorer.

    channel is the name of the channel you created in Application Explorer.

    schemaPrefix is the prefix for the XSD schema. The schema file must be in the same directory where the Java command is executed, for example:

    java -Diway.oem=oracle11g com.iwaysoftware.af.container.tools.wsdl.IWayWSILBrowser C:\oracle\Middleware\Oracle_SOA1\soa\thirdparty\ApplicationAdapters\wsdls\JDEdwards jde812_tgt jde_ch Jde812_Schema Jde812_salesorder_receive.wsdl
    

    Once the command is executed, the following is displayed in the command window:

    Running Inbound WSDL generation tool...-> user.dir = java com.iwaysoftware.af.container.tools.wsdl.IWayWSILBrowser C:\oracle\Middleware\Oracle_SOA1\soa\thirdparty\wsdls\ApplicationAdapters\JDEdwards jde812_tgt jde_ch Jde812_Schema Jde812_salesorder_receive.wsdl -> Generating WSDL...-> Done.-> Writing WSDL 'C:\oracle\Middleware\Oracle_SOA1\soa\thirdparty\ApplicationAdapters\wsdls\Jde812_salesorder_receive.wsdl ' to disk...-> Done.
    

    Note:

    It is good practice to append _receive to the names of WSDL files that are generated for event notification services. This allows you to easily distinguish between them and those generated for request-response services.
  12. Stop the channel in Application Explorer.

Note:

You can organize your WSDL files in subfolders, creating your own WSDL hierarchy structure. Create the folders under <ADAPTER_HOME>\soa\thirdparty\ApplicationAdapters\wsdls. The WSIL browser in Oracle JDeveloper displays the full tree structure of your WSDL hierarchy.

You can now create a new SOA application, which is the first step that is required to define a BPEL inbound process in Oracle JDeveloper.

Creating a New SOA Application for the Inbound BPEL Process

Perform the following steps to create a new SOA application for the inbound BPEL process:

  1. Open Oracle JDeveloper on your system.

  2. Click Application in the menu bar and select New from the menu, as shown in Figure 4-68.

    Figure 4-68 Application Menu

    Application menu
    Description of "Figure 4-68 Application Menu"

    The Create SOA Application wizard is displayed, as shown in Figure 4-69.

    Figure 4-69 Create SOA Application Wizard

    Create SOA Application wizard
    Description of "Figure 4-69 Create SOA Application Wizard"

  3. From the Application Template list, click SOA Application.

  4. Enter a name for the new SOA application (for example, JDE_Inbound_BPEL) and click Next.

    The Name your project page is displayed, as shown in Figure 4-70.

    Figure 4-70 Name Your Project Page

    Name your project pane
    Description of "Figure 4-70 Name Your Project Page"

  5. Enter a project name (for example, Transactions_Receive) and click Next.

    The Configure SOA settings page is displayed, as shown in Figure 4-71.

    Figure 4-71 Configure SOA Settings Page

    Configure SOA settings pane
    Description of "Figure 4-71 Configure SOA Settings Page"

  6. From the Composite Template list, select Empty Composite and click Finish.

    Figure 4-72 Application Navigator Tab

    Application Navigator tab
    Description of "Figure 4-72 Application Navigator Tab"

    The new SOA application (JDE_Inbound_BPEL) and associated project (Transactions_Receive) are added to the Application Navigator tab in the left pane, as shown in Figure 4-72.

Defining a BPEL Inbound Process

This section describes how to define a BPEL inbound process, which consists of the following stages:

  1. Configuring a Third Party Adapter Service Component

  2. Configuring an Inbound BPEL Process Component

Creating a Third Party Adapter Service Component

Perform the following steps to create a third party adapter service component:

  1. Drag and drop the Third Party Adapter component from the Component Palette tab (Service Adapters section) to the Exposed Services pane, as shown in Figure 4-73.

    Figure 4-73 Third Party Adapter Component

    Exposed Services pane
    Description of "Figure 4-73 Third Party Adapter Component"

    The Create Third Party Adapter Service dialog is displayed, as shown in Figure 4-74.

    Figure 4-74 Create Third Party Adapter Service Dialog

    Create Third Party Adapter Service dialog box
    Description of "Figure 4-74 Create Third Party Adapter Service Dialog"

  2. Enter a name for the third party adapter service.

  3. Ensure that Service is selected from the Type list (default).

  4. Click the Find existing WSDLs icon, which is located to the right of the WSDL URL field.

    The SOA Resource Browser dialog is displayed, as shown in Figure 4-75.

    Figure 4-75 SOA Resource Browser Dialog

    SOA Resource Browser dialog box
    Description of "Figure 4-75 SOA Resource Browser Dialog"

  5. Browse and select an inbound WSDL file from the following directory:

    <ADAPTER_HOME>\soa\thirdparty\ApplicationAdapters\wsdls
    
  6. Click OK.

    The Localize Files dialog is displayed, as shown in Figure 4-76.

    Figure 4-76 Localize Files Dialog

    Localize Files dialog box
    Description of "Figure 4-76 Localize Files Dialog"

  7. Click OK.

    The inbound WSDL file and associated receive/request XML schema file (.xsd) are imported to the project folder that has been created.

    You are returned to the Create Third Party Adapter Service dialog, as shown in Figure 4-77.

    Figure 4-77 Create Third Party Adapter Service Dialog

    Create Third Party Adapter Service dialog box
    Description of "Figure 4-77 Create Third Party Adapter Service Dialog"

  8. Click the Find JCA Files icon, which is located to the right of the JCA File field.

    The SOA Resource Browser dialog is displayed, as shown in Figure 4-78.

    Figure 4-78 SOA Resource Browser Dialog

    SOA Resource Browser dialog box
    Description of "Figure 4-78 SOA Resource Browser Dialog"

  9. Browse and select the JCA properties file from the following directory:

    <ADAPTER_HOME>\soa\thirdparty\ApplicationAdapters\wsdls
    
  10. Click OK.

    The Copy File message is displayed, as shown in Figure 4-79.

    Figure 4-79 Copy File Confirmation Message

    Copy File message
    Description of "Figure 4-79 Copy File Confirmation Message"

  11. Click Yes.

    A copy of the JCA properties file is made in the project folder.

    You are returned to the Create Third Party Adapter Service dialog, as shown in Figure 4-80.

    Figure 4-80 Create Third Party Adapter Service Dialog

    Create Third Party Adapter Service dialog box
    Description of "Figure 4-80 Create Third Party Adapter Service Dialog"

  12. Click OK.

    The third party adapter service component (transactions) is created and displayed in the Exposed Services pane, as shown in Figure 4-81.

    Figure 4-81 Third Party Adapter Service Component

    Exposed Services pane
    Description of "Figure 4-81 Third Party Adapter Service Component"

    You are now ready to configure an inbound BPEL process component.

Creating an Inbound BPEL Process Component

Perform the following steps to create an inbound BPEL process component:

  1. Drag and drop the BPEL Process component from the Component Palette tab (Service Components section) to the Components pane, as shown in Figure 4-82.

    Figure 4-82 BPEL Process Component

    Components pane
    Description of "Figure 4-82 BPEL Process Component"

    The Create BPEL Process dialog is displayed, as shown in Figure 4-83.

    Figure 4-83 Create BPEL Process Dialog

    Create BPEL Process dialog box
    Description of "Figure 4-83 Create BPEL Process Dialog"

  2. In the Name field, enter a name to identify the new inbound BPEL process component (for example, Transactions_Inbound).

  3. From the Template list, select Base on a WSDL.

  4. Uncheck the Expose as a SOAP Service check box.

  5. Click the Find existing WSDLs icon, which is located to the right of the WSDL URL field.

    The SOA Resource Browser dialog is displayed, as shown in Figure 4-84.

    Figure 4-84 SOA Resource Browser Dialog

    SOA Resource Browser dialog box
    Description of "Figure 4-84 SOA Resource Browser Dialog"

  6. Browse and select an inbound WSDL file (for example, transactions_receive.wsdl) from the project folder.

  7. Click OK.

    The Localize Files dialog is displayed, as shown in Figure 4-85.

    Figure 4-85 Localize Files Dialog

    Localize Files dialog box
    Description of "Figure 4-85 Localize Files Dialog"

  8. Click OK.

    You are returned to the Create BPEL Process dialog, as shown in Figure 4-86.

    Figure 4-86 Create BPEL Process Dialog

    Create BPEL Process dialog box
    Description of "Figure 4-86 Create BPEL Process Dialog"

  9. Click OK.

    Figure 4-87 Created Connection

    Oracle JDeveloper workspace area
    Description of "Figure 4-87 Created Connection"

  10. Create a connection between the third party adapter service component (transactions) and the inbound BPEL process component (Transactions_Inbound), as shown in Figure 4-87.

  11. Double-click composite.xml in the left pane, as shown in Figure 4-88.

    Figure 4-88 Composite.xml File

    Oracle JDeveloper workspace area
    Description of "Figure 4-88 Composite.xml File"

  12. Click the Save All icon in the menu bar to save the new inbound BPEL process component that was configured, as shown in Figure 4-89.

    Figure 4-89 Save All Icon

    Save All icon
    Description of "Figure 4-89 Save All Icon"

    You are now ready to deploy the BPEL inbound process.

Deploying the BPEL Inbound Process

Perform the following steps to deploy the BPEL inbound process.

  1. Right-click the project name in the left pane (for example, Transactions_Receive), select Deploy, and then click Transactions_Receive, as shown in Figure 4-90.

    Figure 4-90 Deploy Option

    Deploy context menu
    Description of "Figure 4-90 Deploy Option"

    The Deployment Action page is displayed, as shown in Figure 4-91.

    Figure 4-91 Deployment Action Page

    Deployment Action pane
    Description of "Figure 4-91 Deployment Action Page"

  2. Ensure that Deploy to Application Server is selected.

  3. Click Next.

    The Deploy Configuration page is displayed, as shown in Figure 4-92.

    Figure 4-92 Deploy Configuration Page

    Deploy Configuration pane
    Description of "Figure 4-92 Deploy Configuration Page"

  4. Leave the default values selected and click Next.

    The Select Server page is displayed, as shown in Figure 4-93.

    Figure 4-93 Select Server Page

    Select Server pane
    Description of "Figure 4-93 Select Server Page"

  5. Select an available application server that was configured and click Next.

    The SOA Servers page is displayed, as shown in Figure 4-94.

    Figure 4-94 SOA Servers Page

    SOA Servers page
    Description of "Figure 4-94 SOA Servers Page"

  6. Select a target SOA server and click Next.

    The Summary page is displayed, as shown in Figure 4-95.

  7. Review and verify all the available deployment information for your project and click Finish.

    Once event messages are triggered through J.D. Edwards OneWorld, successful instances are received in the Oracle Enterprise Manager console.

Triggering an Event in J.D. Edwards OneWorld

Events are generated by activity in a database or in an application system. You can use events to trigger an action in your application. To trigger an event in J.D. Edwards OneWorld:

  1. Log in to your J.D. Edwards OneWorld system.

  2. In the Fast Path field of the J.D. Edwards OneWorld Explorer window, type G4211 and press Enter, as shown in Figure 4-96.

    Figure 4-96 J.D. Edwards OneWorld Explorer Window

    Fast Path field
    Description of "Figure 4-96 J.D. Edwards OneWorld Explorer Window"

  3. Right-click Sales Order Detail (P4210).

    Figure 4-97 Sales Order Detail Menu

    Sales Order Detail selected and menu showing
    Description of "Figure 4-97 Sales Order Detail Menu"

  4. Select Prompt for, and then Values, as shown in Figure 4-97.

    The Processing Options dialog is displayed, as shown in Figure 4-98.

    Figure 4-98 Processing Options Dialog

    Processing Options dialog box
    Description of "Figure 4-98 Processing Options Dialog"

    Perform the following steps:

    1. Click the Interop tab.

    2. In the Transaction Type field, type JDESOOUT.

    3. Verify that the value in the Before/After Image Processing Blank field is 1.

  5. Click OK.

    The Sales Order Detail - (Customer Service Inquiry) window is displayed, as shown in Figure 4-99.

    Figure 4-99 Sales Order Detail Window

    Sales Order Detail window
    Description of "Figure 4-99 Sales Order Detail Window"

  6. Click the Add icon (third icon from left).

  7. Enter the values as shown in Figure 4-100.

    To move to a different field, use the Tab key on your keyboard.

  8. Enter a value for Quantity Ordered and Item Number, as shown in Figure 4-101.

    Figure 4-101 Sample Values

    Sample values for Quantity Ordered and Item Number
    Description of "Figure 4-101 Sample Values"

  9. Click the first field in the second row and allow a few seconds for processing, as shown in Figure 4-102.

    Figure 4-102 Sample Values

    The second row selected
    Description of "Figure 4-102 Sample Values"

  10. Click OK.

An event is triggered in the J.D. Edwards OneWorld system.

Verifying the Results

To verify your results:

  1. Log in to the Oracle Enterprise Manager console by using the following URL:

    http://localhost:7001/em
    
  2. Expand your domain in the left pane followed by the SOA folder.

    Figure 4-103 Oracle Enterprise Manager Console

    Oracle Enterprise Manager console
    Description of "Figure 4-103 Oracle Enterprise Manager Console"

  3. Select an available project (for example, JDE_Inbound_salesorder_BPEL), as shown in Figure 4-103.

    Figure 4-104 Instances Tab

    Instances tab
    Description of "Figure 4-104 Instances Tab"

  4. Click the Instances tab in the right pane, as shown in Figure 4-104.

    Recently received run-time events are displayed in the Instances tab, as shown in Figure 4-105.

    Figure 4-105 Received Run-time Events

    Instances tab
    Description of "Figure 4-105 Received Run-time Events"

  5. Select a J.D. Edwards OneWorld instance ID.

    The Flow Trace page is displayed, as shown in Figure 4-106.

    Figure 4-106 Flow Trace Page

    Flow Trace pane
    Description of "Figure 4-106 Flow Trace Page"

  6. Select a component instance to view its detailed audit trail.

    The Instance page for the selected component is displayed, as shown in Figure 4-107.

    Figure 4-107 Instance Page

    Audit Trail tab
    Description of "Figure 4-107 Instance Page"

  7. Click the Audit Trail tab to view the event message.

    The message received from the J.D. Edwards OneWorld system is displayed in the Audit Trail tab.