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 includes 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. See Chapter 2, "Configuring Oracle Application Adapter for J.D. Edwards OneWorld" for more information.

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.

    Oracle JDeveloper View menu
    Description of the illustration config_appserver1.gif

    The Application Server tab is displayed.

    Application Server tab
    Description of the illustration config_appserver2.gif

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

    The Create Application Server Connection Wizard is displayed.

    Create Application Server Connection Wizard
    Description of the illustration config_appserver3.gif

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

    The Name and Type page is displayed.

    Name and Type pane
    Description of the illustration config_appserver4.gif

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

    The Authentication page is displayed.

    Authentication pane
    Description of the illustration config_appserver5.gif

  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.

    Configuration pane
    Description of the illustration config_appserver6.gif

  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.

    Test pane
    Description of the illustration config_appserver7.gif

  10. Click Test Connection.

  11. Ensure that the test status is successful.

  12. Click Next.

    The Finish page is displayed.

    Finish pane
    Description of the illustration config_appserver8.gif

  13. Click Finish.

    The new Application Server connection is listed in the left pane (Application Server tab), as shown in the following image.

    Application Server tab
    Description of the illustration config_appserver9.gif

Designing an Outbound BPEL Process for Service Integration

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

  • Oracle Adapter Application Explorer (Application Explorer)

  • Oracle JDeveloper BPEL Designer (JDeveloper) or Eclipse

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. See "Generating WSDL for Request/Response Service" for more information. 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.

    Application Explorer context menu
    Description of the illustration wsdl_generate1.gif

  3. Right-click GetEffectiveAddress, and then select Create Outbound JCA Service (Request/Response).

    The Export WSDL dialog is displayed.

    Export WSDL dialog box
    Description of the illustration wsdl_generate2.gif

  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. In the Application Navigator tab, click New Application.

    Application Navigator tab
    Description of the illustration bpel_out_comp1.gif

    The Create SOA Application wizard is displayed.

    Create SOA Application wizard
    Description of the illustration bpel_out_comp2.gif

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

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

    The Name your project page is displayed.

    Name your project pane
    Description of the illustration bpel_out_comp3.gif

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

    The Configure SOA settings page is displayed.

    Configure SOA settings pane
    Description of the illustration bpel_out_comp4.gif

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

    Application Navigator tab
    Description of the illustration bpel_out_comp5.gif

    The new SOA application (JDE_Outbound_BPEL) and associated project (GetEffectiveAddress_Invoke) are added to the Application Navigator tab in the left pane.

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.

    External References pane
    Description of the illustration bpel_out_adapt1.gif

    The Create Third Party Adapter Service dialog is displayed.

    Create Third Party Adapter Service dialog box
    Description of the illustration bpel_out_adapt2.gif

  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.

    SOA Resource Browser dialog box
    Description of the illustration bpel_out_adapt3.gif

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

    C:\oracle\Middleware\Oracle_SOA1\soa\thirdparty\ApplicationAdapters\wsdls
    
  6. Click OK.

    The Localize Files dialog is displayed.

    Localize Files dialog box
    Description of the illustration bpel_out_adapt4.gif

  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.

    Create Third Party Adapter Service dialog box
    Description of the illustration bpel_out_adapt5.gif

  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.

    SOA Resource Browser dialog box
    Description of the illustration bpel_out_adapt6.gif

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

    C:\oracle\Middleware\Oracle_SOA1\soa\thirdparty\ApplicationAdapters\wsdls
    
  10. Click OK.

    The following message is displayed.

    Copy File message
    Description of the illustration bpel_out_adapt7.gif

  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.

    Create Third Party Adapter Service dialog box
    Description of the illustration bpel_out_adapt8.gif

  12. Click OK.

    The third party adapter service component (GetEffectiveAddress) is created in the External References pane, as shown in the following image.

    External References pane
    Description of the illustration bpel_out_adapt9.gif

    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.

    Components pane
    Description of the illustration bpel_out_proc1.gif

    The Create BPEL Process dialog is displayed.

    Create BPEL Process dialog box
    Description of the illustration bpel_out_proc2.gif

  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.

    Type Chooser dialog box
    Description of the illustration bpel_out_proc3.gif

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

  6. Click OK.

    You are returned to the Create BPEL Process dialog.

    Create BPEL Process dialog box
    Description of the illustration bpel_out_proc4.gif

  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.

    Type Chooser dialog box
    Description of the illustration bpel_out_proc5.gif

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

  9. Click OK.

    You are returned to the Create BPEL Process dialog.

    Create BPEL Process dialog box
    Description of the illustration bpel_out_proc6.gif

  10. Click OK.

  11. Create a connection between the outbound BPEL process component (GetEffectiveAddress_Out) and the third party adapter service component (GetEffectiveAddress).

    Oracle JDeveloper workspace area
    Description of the illustration bpel_out_proc7.gif

  12. Double-click the outbound BPEL process component (GetEffectiveAddress_Out) in the Components pane.

    The following is displayed.

    Oracle JDeveloper workspace area
    Description of the illustration bpel_out_proc8.gif

  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.

    Oracle JDeveloper workspace area
    Description of the illustration bpel_out_proc9.gif

  14. Create a connection between the new Invoke activity component (Invoke_1) and the third party adapter service component (GetEffectiveAddress).

    Oracle JDeveloper workspace area
    Description of the illustration bpel_out_proc10.gif

    The Edit Invoke dialog is displayed.

    Edit Invoke dialog box
    Description of the illustration bpel_out_proc11.gif

  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.

    Create Variable dialog box
    Description of the illustration bpel_out_proc12.gif

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

    You are returned to the Edit Invoke dialog.

    Edit Invoke dialog box
    Description of the illustration bpel_out_proc13.gif

  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.

    Create Variable dialog box
    Description of the illustration bpel_out_proc14.gif

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

    You are returned to the Edit Invoke dialog.

    Edit Invoke dialog box
    Description of the illustration bpel_out_proc15.gif

  19. Click Apply and then OK.

    The Invoke activity component (Invoke_1) is updated accordingly.

    Oracle JDeveloper workspace area
    Description of the illustration bpel_out_proc16.gif

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

    Oracle JDeveloper workspace area
    Description of the illustration bpel_out_proc17.gif

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

    The Assign dialog is displayed.

    Assign dialog box
    Description of the illustration bpel_out_proc18.gif

  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.

    Create Copy Operation dialog box
    Description of the illustration bpel_out_proc19.gif

  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.

    Assign dialog box
    Description of the illustration bpel_out_proc20.gif

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

    Oracle JDeveloper workspace area
    Description of the illustration bpel_out_proc21.gif

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

    The Assign dialog is displayed.

    Assign dialog box
    Description of the illustration bpel_out_proc18.gif

  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.

    Create Copy Operation dialog box
    Description of the illustration bpel_out_proc22.gif

  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.

    Assign dialog box
    Description of the illustration bpel_out_proc23.gif

  35. Click Apply and then OK.

    The completed activity flow is now displayed.

    completed activity flow
    Description of the illustration bpel_out_proc24.gif

  36. Double-click composite.xml in the left pane.

    Oracle JDeveloper workspace area
    Description of the illustration bpel_out_proc25.gif

  37. Click the Save All icon in the menu bar to save the new outbound BPEL process component that was configured.

    Save All icon
    Description of the illustration bpel_out_proc26.gif

    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.

    Deploy context menu
    Description of the illustration bpel_out_deploy1.gif

    The Deployment Action page is displayed.

    Deployment Action pane
    Description of the illustration bpel_out_deploy2.gif

  2. Ensure that Deploy to Application Server is selected.

  3. Click Next.

    The Deploy Configuration page is displayed.

    Deploy Configuration pane
    Description of the illustration bpel_out_deploy3.gif

  4. Leave the default values selected and click Next.

    The Select Server page is displayed.

    Select Server pane
    Description of the illustration bpel_out_deploy4.gif

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

    The SOA Servers dialog is displayed.

  6. Select a target SOA server and click Next.

    The Summary page is displayed.

    Summary pane
    Description of the illustration bpel_out_deploy5.gif

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

    The process is deployed successfully.

    SOA Log tab
    Description of the illustration bpel_out_deploy6.gif

    If an Authorization Request dialog is displayed during the deployment process, provide the required user name and password and click OK.

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.

    Oracle Enterprise Manager console
    Description of the illustration bpel_out_test1.gif

  3. Select an available project (for example, JDE_Outbound_GetEffectiveAddress_BPEL).

    Test button
    Description of the illustration bpel_out_test2.gif

  4. Click Test in the right pane.

    The Test Web Service page is displayed.

    Request tab
    Description of the illustration bpel_out_test3.gif

  5. Click the Request tab.

  6. Scroll down to the Input Arguments section.

    Input Arguments section
    Description of the illustration bpel_out_test4.gif

  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.

    Response tab
    Description of the illustration bpel_out_test5.gif

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:

  • Oracle Adapter Application Explorer (Application Explorer)

  • Oracle JDeveloper BPEL Designer (JDeveloper) or Eclipse

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. See "Generating WSDL for Event Integration" for more information.

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

    Add Channel dialog box
    Description of the illustration add_channel_dialog.gif

  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.

    System tab
    Description of the illustration tcp_listener_dialog.gif

  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.

    User tab
    Description of the illustration tcp_channel3.gif

    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:
    C:\oracle\Middleware\Oracle_SOA1\soa\thirdparty\ApplicationAdapters\config\config_name\JDEdwards\schemas\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, 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:

    C:\oracle\Middleware\Oracle_SOA1\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:

    C:\oracle\Middleware\Oracle_SOA1\soa\thirdparty\ApplicationAdapters\config\config_name\JDEdwards\schemas
    

    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:
    C:\oracle\Middleware\Oracle_SOA1\soa\thirdparty\ApplicationAdapters\config\config_name\JDEdwards\schemas\jde-schema.xsd
    
  8. Open a command prompt and navigate to the following directory:

    C:\oracle\Middleware\Oracle_SOA1\soa\thirdparty\ApplicationAdapters\tools
    
  9. Execute the obadapter.bat file to set the environment.

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

    C:\oracle\Middleware\Oracle_SOA1\soa\thirdparty\ApplicationAdapters\config\config_name\JDEdwards\schemas
    
  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:

    C:\oracle\Middleware\Oracle_SOA1\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\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\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 C:\oracle\Middleware\Oracle_SOA1\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. In the Application Navigator tab, click New Application.

    Application Navigator tab
    Description of the illustration bpel_out_comp1.gif

    The Create SOA Application wizard is displayed.

    Create SOA Application wizard
    Description of the illustration bpel_in_comp1.gif

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

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

    The Name your project page is displayed.

    Name your project pane
    Description of the illustration bpel_in_comp2.gif

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

    The Configure SOA settings page is displayed.

    Configure SOA settings pane
    Description of the illustration bpel_in_comp3.gif

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

    Application Navigator tab
    Description of the illustration bpel_in_comp4.gif

    The new SOA application (JDE_Inbound_BPEL) and associated project (Transactions_Receive) are added to the Application Navigator tab in the left pane.

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.

    Exposed Services pane
    Description of the illustration bpel_in_adapt1.gif

    The Create Third Party Adapter Service dialog is displayed.

    Create Third Party Adapter Service dialog box
    Description of the illustration bpel_in_adapt2.gif

  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.

    SOA Resource Browser dialog box
    Description of the illustration bpel_in_adapt3.gif

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

    C:\oracle\Middleware\home_GA\Oracle_SOA1\soa\thirdparty\ApplicationAdapters\wsdls
    
  6. Click OK.

    The Localize Files dialog is displayed.

    Localize Files dialog box
    Description of the illustration bpel_in_adapt3a.gif

  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.

    Create Third Party Adapter Service dialog box
    Description of the illustration bpel_in_adapt4.gif

  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.

    SOA Resource Browser dialog box
    Description of the illustration bpel_in_adapt5.gif

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

    C:\oracle\Middleware\home_GA\Oracle_SOA1\soa\thirdparty\ApplicationAdapters\wsdls
    
  10. Click OK.

    The following message is displayed.

    Copy File message
    Description of the illustration bpel_in_adapt6.gif

  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.

    Create Third Party Adapter Service dialog box
    Description of the illustration bpel_in_adapt7.gif

  12. Click OK.

    The third party adapter service component (transactions) is created in the Exposed Services pane, as shown in the following image.

    Exposed Services pane
    Description of the illustration bpel_in_adapt8.gif

    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.

    Components pane
    Description of the illustration bpel_in_proc1.gif

    The Create BPEL Process dialog is displayed.

    Create BPEL Process dialog box
    Description of the illustration bpel_in_proc2.gif

  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.

    SOA Resource Browser dialog box
    Description of the illustration bpel_in_proc3.gif

  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.

    Localize Files dialog box
    Description of the illustration bpel_in_proc4.gif

  8. Click OK.

    You are returned to the Create BPEL Process dialog.

    Create BPEL Process dialog box
    Description of the illustration bpel_in_proc5.gif

  9. Click OK.

    Oracle JDeveloper workspace area
    Description of the illustration bpel_in_proc6.gif

  10. Create a connection between the third party adapter service component (transactions) and the inbound BPEL process component (Transactions_Inbound).

  11. Double-click composite.xml in the left pane.

    Oracle JDeveloper workspace area
    Description of the illustration bpel_in_proc7.gif

  12. Click the Save All icon in the menu bar to save the new inbound BPEL process component that was configured.

    Save All icon
    Description of the illustration bpel_in_proc8.gif

    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.

    Deploy context menu
    Description of the illustration bpel_in_deploy1.gif

    The Deployment Action page is displayed.

    Deployment Action pane
    Description of the illustration bpel_in_deploy2.gif

  2. Ensure that Deploy to Application Server is selected.

  3. Click Next.

    The Deploy Configuration page is displayed.

    Deploy Configuration pane
    Description of the illustration bpel_in_deploy3.gif

  4. Leave the default values selected and click Next.

    The Select Server page is displayed.

    Select Server pane
    Description of the illustration bpel_in_deploy4.gif

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

    The SOA Servers dialog is displayed.

  6. Select a target SOA server and click Next.

    The Summary page is displayed.

    Summary pane
    Description of the illustration bpel_in_deploy5.gif

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

    If an Authorization Request dialog is displayed during the deployment process, provide the required user name and password and click OK.

    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.

    Fast Path field
    Description of the illustration jde_eventtrigger.gif

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

    Sales Order Detail selected and menu showing
    Description of the illustration jde_eventtrigger2.gif

  4. Select Prompt for, and then Values.

    The Processing Options dialog is displayed.

    Processing Options dialog box
    Description of the illustration jde_eventtrigger3.gif

    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.

    Sales Order Detail window
    Description of the illustration jde_eventtrigger4.gif

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

  7. Enter the values as shown in the following screen.

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

    The correct order values
    Description of the illustration jde_eventtrigger5.gif

  8. Enter a value for Quantity Ordered and Item Number.

    For example:

    Sample values for Quantity Ordered and Item Number
    Description of the illustration jde_eventtrigger6.gif

  9. Click the first field in the second row and allow a few seconds for processing.

    The second row selected
    Description of the illustration jde_eventtrigger7.gif

  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.

    Oracle Enterprise Manager console
    Description of the illustration bpel_in_test1.gif

  3. Select an available project (for example, JDE_Inbound_salesorder_BPEL).

    Instances tab
    Description of the illustration bpel_in_test2.gif

  4. Click the Instances tab in the right pane.

    Recently received run-time events are displayed in the Instances tab.

    Instances tab
    Description of the illustration bpel_in_test3.gif

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

    The Flow Trace page is displayed.

    Flow Trace pane
    Description of the illustration bpel_in_test4.gif

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

    The Instance page for the selected component is displayed.

    Audit Trail tab
    Description of the illustration bpel_in_test5.gif

  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.