Skip Headers
Oracle® Application Server Integration B2B User's Guide
10g Release 2 (10.1.2)

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

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

11 Managing Callouts

This chapter describes how to manage callouts, which enable you to transform the formats of messages exchanged between remote and host trading partners.

This chapter contains the following topics:

11.1 Callouts Overview

The host application of a trading partner is the ultimate source and destination for sending and receiving messages. You create or use predefined internal delivery channels in the OracleAS Integration B2B user interface that enable communication between the host application and the host trading partner.

You can have an environment in which the host application does not understand the format of a message sent from a remote trading partner. For example, a remote trading partner sends a RosettaNet XML-formatted purchase order request to a host trading partner. The host application of the host trading partner is an Oracle E-Business Suite application that does not understand RosettaNet XML-formatted messages. Figure 11-1 provides an example of this environment.

To enable communication between these two different formats, you create a callout that consists of callout usages. In this example, one callout usage transforms the RosettaNet XML-formatted purchase order request into an Oracle E-Business Suite XML format understood by the Oracle E-Business Suite application. The Oracle E-Business Suite application, in turn, responds to the request message with a purchase order acceptance message in Oracle E-Business Suite XML format. This message is transformed by another callout usage back into a RosettaNet XML-formatted message for the remote trading partner.

You create two separate internal delivery channels for these messages:

When you create a trading partner agreement between the host and remote trading partners, you associate the initiating internal delivery channel with the initiating callout usage that transforms the purchase order request from RosettaNet XML to Oracle E-Business Suite XML. You also associate the responding internal delivery channel with the responding callout usage that transforms the purchase order acceptance from Oracle E-Business Suite XML to RosettaNet XML.

By default, the initiating internal delivery channel and callout usage are available for selection when you create a trading partner agreement. If you also want a responding internal delivery channel and responding callout usage to be available for selection, you must select Yes from the Is acknowledgment handled By Integration B2B? list on the Create Trading Partner - Operational Capability page or Create Supported Collaboration Role page when you create a trading partner.

When you then create the trading partner agreement, you can select both internal delivery channels and both callout usages. Figure 11-2 provides an example of the upper part of the Create Agreement page that enables you to make these selections.

Figure 11-2 Selecting Callouts when Creating a Trading Partner Agreement

Description of Figure 11-2 follows
Description of "Figure 11-2 Selecting Callouts when Creating a Trading Partner Agreement"

You perform the following tasks to use callouts with OracleAS Integration B2B:

See the following for more information:

11.2 Managing Callouts

The OracleAS Integration B2B user interface enables you to perform the callout management tasks shown in Figure 11-3. Callouts enable you to transform the formats of messages exchanged between remote and host trading partners. These tasks are described in detail in this section.

Figure 11-3 Callout Management Tasks

Description of Figure 11-3 follows
Description of "Figure 11-3 Callout Management Tasks"

Table 11-1 identifies the callout management tasks shown in Figure 11-3 and provides references to procedures for performing these tasks.

Table 11-1 Callout Management Tasks

Page Elements Management Task See Section...

Create button in Callouts section of Figure 11-3

Create a callout

"Creating a Callout"


Name column in Callouts section of Figure 11-3

View details about a callout

"Viewing a Callout"


Update column in Callouts section of Figure 11-3

Update a callout

"Updating a Callout"


Delete column in Callouts section of Figure 11-3

Delete a callout

"Deleting a Callout"



11.2.1 Creating a Callout

A predefined callout named XSLTCallout is provided for XML-to-XML transformations. You cannot update or delete this callout or create callout properties or callout usages for it. You can also create your own Java callouts. A callout includes attributes, such as a name, description, implementation class name, and callout .jar file library name. These callout details load the callout class, map the input and output parameters, and invoke the class. You can create multiple callouts with the same name. However, you must assign them different implementation names. Follow these instructions to create a callout:

  1. Click Partners, then Callouts.

  2. Click Create in the Callouts section.

    The Create Callout page appears.

  3. Enter the following details to create a callout. An asterisk (*) indicates a required field.

    Field Value
    Name * Enter a unique and recognizable name for the callout.
    Description Enter a description.
    Implementation Name * Enter the class file name.

    Note: OracleAS Integration B2B includes a predefined class file named XSLTCalloutImpl that you can use for XML-to-XML transformations.

    Library Name * Enter the callout .jar file library name that defines how to perform the transformation. The class file is included in the .jar file.

    Note: If you specify your own callout .jar file, the directory location for this file must be specified with the Callout Directory parameter of the Server Properties page in Oracle Enterprise Manager 10g Application Server Control Console. Note that the directory location for the default b2b.jar file included with OracleAS Integration B2B does not need to be specified.

    Timeout (seconds) Enter the time limit in which to process the callout.

  4. Click Apply.

    The callout is created and the new Callout Details page appears.

Note:

Do not modify the b2b.jar file included with OracleAS Integration B2B. Modifying this file can cause corruption.

See "OracleAS Integration B2B Middle-Tier Instance Server Properties" for instructions on accessing the Callout Directory server property in Oracle Enterprise Manager 10g Application Server Control Console to set the callout .jar file location.

11.2.1.1 Implementing a Callout: Code Example

The following code example shows how an incoming XML document is transformed to another XML document.

import java.io.*;
import java.net.*;
import java.util.*;
import oracle.xml.parser.v2.*;
import oracle.tip.callout.Callout;
import oracle.tip.callout.CalloutMessage;
import oracle.tip.callout.CalloutContext;
import oracle.tip.callout.exception.*;
 
/**
 * This sample callout transforms the incoming XML document
 * to another XML document. It also shows how to generate
 * Functional Ack and Error message.
 */
public class MyCallout implements Callout {  
   public void execute(CalloutContext context,
                       List input,
                       List output)
               throws CalloutDomainException, CalloutSystemException {
     try {
 
      // (1) Retrieve the callout properties from CalloutContext
      String xsltFile     = context.getStringProperty("xsltFile");
 
      // (2) Get the input callout message
      CalloutMessage cmIn = (CalloutMessage)input.get(0);
 
      // (3) Process the message
      // instantiate a stylesheet
      URL xslURL = new URL("file://" + xsltFile);     
      XSLProcessor processor = new XSLProcessor();
      XSLStylesheet xsl = processor.newXSLStylesheet(xslURL);
 
      // parser input XML content
      DOMParser parser = new DOMParser();
      parser.setPreserveWhitespace(true);  
      parser.parse(new StringReader(cmIn.getBodyAsString()));
      XMLDocument xml = parser.getDocument();
      processor.showWarnings(true);
      processor.setErrorStream(System.err);
 
      // Transform the document
      StringWriter strWriter = new  StringWriter();
      processor.processXSL(xsl, xml, new PrintWriter(strWriter));
 
      // (4) Create a output callout message
      // create a callout output message
      CalloutMessage cmOut =
          new CalloutMessage(strWriter.getBuffer().toString());
      strWriter.close();
 
// create Functional Ack callout message
// this is an optional step
CalloutMessage fa = new CalloutMessage(/*set FA payload here*/);
fa.setParameter("functional_ack", "true");
//setting your own doctype and revision
//set the doc type name and revision as defined in b2b ui
fa.setParameter("doctype_name", "fa");
fa.setParameter("doctype_revision", "1.0");
 
// create Error callout message
// this is an optional step
CalloutMessage err = new CalloutMessage(/* set the payload that causes this
error */);
err.setParameter("error_message", "true");
err.setParameter("error_desc", "set the error desc");

      output.add(cmOut);
      output.add(fa);
      output.add(err);

      //(5) Throw an exception, if any
    } catch (Exception e) {
      throw new CalloutDomainException(e);
    }
  }
}

11.2.2 Viewing a Callout

Follow these instructions to view details about a specific callout:

  1. Click Partners, then Callouts.

  2. Select a specific callout to view in the Name column of the Callouts section.

    The Callout Details page for the selected callout appears.

  1. View specific details, including the following:

    • The callout name, description, implementation name (class name), library name, and timeout value (in seconds)

    • Any callout properties assigned to this callout

    • The callout usages assigned to this callout (the source and target document definitions for the callout, such as a purchase order request and purchase order acceptance). For a callout to be selectable when you create a trading partner agreement, a callout usage must exist.

    This page, as with the Callouts page shown in Figure 11-3, enables you to delete or update a callout that you created.

  2. Click Return to List to return to the Callouts page.

11.2.3 Updating a Callout

Follow these instructions to update a callout that you created:

  1. Click Partners, then Callouts.

  2. Select a specific callout to update in the Update column of the Callouts section.

    The Update Callout page appears.

  1. Make appropriate changes. (See Step 3 for a list of fields you can update.)

  2. Click Apply.

    The callout is updated and the Callout Details page appears.

11.2.4 Deleting a Callout

Follow these instructions to delete a callout that you created:

Note:

Ensure that you do not delete a callout included in a trading partner agreement of a configuration.
  1. Click Partners, then Trading Partners, and then Callouts.

  2. Select a specific callout to delete in the Delete column of the Callouts section.

  3. Click Yes when prompted to delete a callout.

    The callout is deleted and the Callouts page appears.

11.3 Managing Callout Properties

The OracleAS Integration B2B user interface enables you to perform the callout property management tasks shown in Figure 11-4. These tasks are described in detail in this section. A predefined callout property named xsltFile is included with the XSLTCalloutImpl class file (the implementation name). You can also create your own callout properties.

Callout properties are similar in concept to global variables to which you can assign local values that are applicable only to a specific callout usage. Or, you can create a callout property and assign it a default value that is applicable to all callout usages.

For example, the xsltFile property specifies the location for a specific .xslt file. Within one callout usage, you can assign a value to the xsltFile property that is appropriate for one specific callout usage (for example, /private/RNtoEBStransform.xslt for transformations from RosettaNet XML to Oracle E-Business Suite XML). In another callout usage, you can assign a different value (for example, private/EBStoRNtransform.xslt for transformations from Oracle E-Business Suite XML to RosettaNet XML).

Figure 11-4 Callout Property Management Tasks

Description of Figure 11-4 follows
Description of "Figure 11-4 Callout Property Management Tasks"

Table 11-2 identifies the callout property management tasks shown in Figure 11-4 and provides references to procedures for performing these tasks.

Table 11-2 Callout Property Management Tasks

Page Elements Management Task See Section...

Create button in Callout Properties section of Figure 11-4

Create a callout property

"Creating Callout Properties"


Name column in Callout Properties section of Figure 11-4

View details about a callout property

"Viewing Callout Properties"


Update column in Callout Properties section of Figure 11-4

Update a callout property

"Updating Callout Properties"


Delete column in Callout Properties section of Figure 11-4

Delete a callout property

"Deleting Callout Properties"



See "Creating a Callout Metadata Parameter Value for a Callout Usage" to assign local values to a callout property that are applicable only to a specific callout usage and to create your own callout properties for a specific callout usage.

11.3.1 Creating Callout Properties

Follow these instructions to create a callout property:

  1. Click Partners, then Callouts.

  2. Select a specific callout in the Name column.

    The Callout Details page appears.

  3. Click Create in the Callout Properties section.

    The Create Callout Property page appears.

  1. Enter the following details to create a callout property. An asterisk (*) indicates a required field.

    Field Value
    Name * Enter a unique and recognizable name for the callout property.
    Description Enter an optional description.
    Type * Select a type (Boolean, date, float, integer, or string).
    Mandatory Select False or True.
    Overridable Select False or True.

    If set to True, you can override the value at the callout usage level. If set to False, do not enter a value at the callout usage level.

    Minimum Length Enter a minimum length for the callout property.
    Maximum Length Enter a maximum length for the callout property.
    Encrypt Value Select False or True.
    Default Value Enter a value. If the Encrypt Value is set to True, this value is encrypted.

  2. Click Apply.

    The callout property is created and the new Callout Property Details page appears. You can now assign local values to this callout property that are applicable only to a specific callout usage. Or, you can use this callout property in its current format to be applicable to all callout usages.

11.3.2 Viewing Callout Properties

Follow these instructions to view details about a specific callout property:

  1. Click Partners, then Callouts.

  2. Select a specific callout in the Name column.

    The Callout Details page appears.

  3. Select a specific callout to view in the Name column of the Callout Properties section.

    The Callout Properties Details page for the selected callout property appears.

  4. View specific details, including the callout property name, description, type (for example, string), if the property is mandatory, if the property is overridable, the minimum and maximum lengths, if encryption is enabled, and the default value (which is visible if not encrypted).

    This page, as with the Callout Details page shown in Figure 11-4, enables you to delete or update the selected callout property.

  5. Click Return to List to return to the Callout Details page.

11.3.3 Updating Callout Properties

Follow these instructions to update a callout property:

  1. Click Partners, then Callouts.

  2. Select a specific callout in the Name column.

    The Callout Details page appears.

  3. Select a specific callout to update in the Update column of the Callout Properties section.

    The Update Callout Property page appears.

  1. Make appropriate changes. (See Step 4 for a list of fields you can update.)

  2. Click Apply.

    The callout property is updated and the Callout Property Details page appears.

11.3.4 Deleting Callout Properties

Follow these instructions to delete a callout property:

  1. Click Partners, then Callouts.

  2. Select a specific callout in the Name column.

    The Callout Details page appears.

  3. Select a specific callout property to delete in the Delete column of the Callout Properties section.

  1. Click Yes when prompted to delete a callout property.

    The callout property is deleted and the Callout Details page appears.

11.4 Managing Callout Usages

The OracleAS Integration B2B user interface enables you to perform the callout usage management tasks shown in Figure 11-5 and Figure 11-6. These tasks are described in detail in this section. Callout usage enables you to map the source (input) document definition to a target (output) document definition for a transformation. You select the callout usage when you create a trading partner agreement. A callout can have multiple callout usages. You can also create callout metadata parameter values unique to a specific callout usage or you can assign local values that override callout properties set at the callout level.

Figure 11-5 Callout Usage Management Tasks (Part 1 of 2)

Description of Figure 11-5 follows
Description of "Figure 11-5 Callout Usage Management Tasks (Part 1 of 2)"

Clicking Details for a specific callout usage in the Callout Usage section causes the Callout Usage Details page to appear:

Figure 11-6 Callout Usage Management Tasks (Part 2 of 2)

Description of Figure 11-6 follows
Description of "Figure 11-6 Callout Usage Management Tasks (Part 2 of 2)"

Table 11-3 identifies the callout usage management tasks shown in Figure 11-5 and Figure 11-6 and provides references to procedures for performing these tasks.

Table 11-3 Callout Usage Management Tasks

Page Elements Management Task See Section...

Create button in Callout Usage section of Figure 11-5

Create a callout usage

"Creating a Callout Usage"


Details column in Callout Usage section of Figure 11-5

View details about a callout usage

"Viewing a Callout Usage"


Update column in Callout Usage section of Figure 11-5

Update a callout usage

"Updating a Callout Usage"


Delete column in Callout Usage section of Figure 11-5

Delete a callout usage

"Deleting a Callout Usage"


Create button in Callout Metadata Parameter Values section of Figure 11-6

Create a callout metadata parameter value for a callout usage

"Creating a Callout Metadata Parameter Value for a Callout Usage"


Name column in Callout Metadata Parameter Values section of Figure 11-6

View details about a callout metadata parameter value for a callout usage

"Viewing a Callout Metadata Parameter Value for a Callout Usage"


Update column in Callout Metadata Parameter Values section of Figure 11-6

Update a callout metadata parameter value for a callout usage

"Updating a Callout Metadata Parameter Value for a Callout Usage"


Delete column in Callout Metadata Parameter Values section of Figure 11-6

Delete a callout metadata parameter value for a callout usage

"Deleting a Callout Metadata Parameter Value for a Callout Usage"



11.4.1 Creating a Callout Usage

If you want to select a callout when you create a trading partner agreement, you must first create a callout usage. A callout usage consists of a source (input) and target (output) document definition for transformation. The document definitions that display for selection are the ones you created through either of two methods:

Follow these instructions to create a callout usage:

  1. Click Partners, then Callouts.

  2. Select a specific callout in the Name column.

    The Callout Details page appears.

  3. Click Create in the Callout Usage section.

    The Create Callout Usage page appears.

  1. Enter the following details to create a callout usage. An asterisk (*) indicates a required field.

    Field Value
    Source Document Definition * Select a source document definition.

    The selection you make here is the input to the callout (for example, a purchase order request initiated by a remote trading partner, as shown in Figure 11-1).

    Target Document Definition * Select a target document definition.

    The selection you make here is the output to the callout (for example, a purchase order acceptance for a host application of a host trading partner, as shown in Figure 11-1).


  2. Click Apply.

    The callout usage is created and the new Callout Usage Details page appears. The callout usage can now be selected when you create a trading partner agreement.

See the following for more information:

11.4.2 Viewing a Callout Usage

Follow these instructions to view details about a specific callout usage:

  1. Click Partners, then Callouts.

  2. Select a specific callout in the Name column.

    The Callout Details page appears.

  3. Select a specific callout usage to view in the Details column of the Callout Usage section.

    The Callout Usage Details page for the selected callout usage appears.

  4. View specific details, including the following.

    • View the callout usage name

    • Callout metadata parameter value. You can also manage (create, view, update, and delete) callout metadata parameter values for the callout usage from this page. This enables you to create parameters unique to a specific callout usage or assign local values that override callout properties set at the callout level.

    This page, as with the Callout Details page shown in Figure 11-5, enables you to delete or update the selected callout usage.

  5. Click Return to List to return to the Callout Details page.

11.4.3 Updating a Callout Usage

Follow these instructions to update a callout usage:

  1. Click Partners, then Callouts.

  2. Select a specific callout in the Name column.

    The Callout Details page appears.

  3. Select a specific callout usage to update in the Update column of the Callout Usage section.

    The Update Callout Usage page appears.

  1. Make appropriate changes. (See Step 4 for a list of fields you can update.)

  2. Click Apply.

    The callout usage is updated and the Callout Usage Details page appears.

11.4.4 Deleting a Callout Usage

Follow these instructions to delete a callout usage:

  1. Click Partners, then Callouts.

  2. Select a specific callout in the Name column.

    The Callout Details page appears.

  3. Select a specific callout usage to delete in the Delete column of the Callout Usage section.

  1. Click Yes when prompted to delete a callout usage.

    The callout usage is deleted and the Callout Details page appears.

11.4.5 Creating a Callout Metadata Parameter Value for a Callout Usage

You can create a callout metadata parameter value for a callout usage that enables you to override properties set at the callout level (for example, with the xsltFile property). Callout metadata parameter values are similar in concept to local variables in that they are only applicable to a specific callout usage.

For example, the xsltFile property specifies the location for a specific .xslt file. Within one callout usage, you can assign a value to the xsltFile property that is appropriate for that specific callout usage (for example, /private/RNtoEBStransform.xslt for transformations from RosettaNet XML to Oracle E-Business Suite XML). In another callout usage, you can assign a different value (for example, private/EBStoRNtransform.xslt for transformations from Oracle E-Business Suite XML to RosettaNet XML).

You can also create callout metadata parameter values unique to a specific callout usage.

  1. Click Partners, then Callouts.

  2. Select a specific callout in the Name column.

    The Callout Details page appears.

  3. Select a specific callout usage in the Details column of the Callout Usage section.

    The Callout Usage Details page for the selected callout usage appears.

  4. Click Create in the Callout Metadata Parameter Values section.

    The Create Callout Metadata Parameter Value page appears.

  5. Select whether to create or use an existing callout property value.

  6. Go to the following steps based on your selection.

    Did You Select the Use Existing Callout Property Check Box? Go To...
    Yes Step 7
    No Step 8

  7. If you selected the Use Existing Callout Property check box, perform Steps 7a through 7b.

    1. Enter the following details to create a callout metadata parameter value. An asterisk (*) indicates a required field.

      Field Value
      Callout Property Select a callout property created at the callout level.
      Value * Enter a callout property value. This value overrides the value set at the callout level.

    2. Go to Step 9.

  8. If you did not select the Use Existing Callout Property check box, perform Steps 8a through 8b.

    1. Enter the following details to create a callout metadata parameter value. An asterisk (*) indicates a required field.

      Field Value
      Name * Enter a unique and recognizable name for the callout metadata parameter value.
      Description Enter an optional description.
      Type * Select a type (Boolean, date, float, integer, or string).

      Note: Changing a type can invalidate the callout metadata parameter value default value.

      Note: The date value does not currently function properly. To use the date value, create a callout property in which you select the date value from the Type list of the Create Callout Property page.

      Encrypt Value Select False or True. You cannot update this value at a later time.
      Value * Select Create New to create a new value or Use Existing to select an existing value. If Encrypt Value is set to True, this value is encrypted.

    2. Go to Step 9.

  9. Click Apply.

    The callout metadata parameter value for this callout usage is created and the new Callout Usage Details page appears.

11.4.6 Viewing a Callout Metadata Parameter Value for a Callout Usage

Follow these instructions to view details about a specific callout metadata parameter value for a callout usage:

  1. Click Partners, then Callouts.

  2. Select a specific callout in the Name column.

    The Callout Details page appears.

  3. Select a specific callout usage in the Details column of the Callout Usage section.

    The Callout Usage Details page for the selected callout usage appears.

  4. View specific details in the Callout Metadata Parameter Values section, including the callout metadata parameter value name, if the value is encrypted, type (for example, string), and value.

  5. Click Return to List to return to the Callout Details page.

11.4.7 Updating a Callout Metadata Parameter Value for a Callout Usage

Follow these instructions to update a callout metadata parameter value for a callout usage:

  1. Click Partners, then Callouts.

  2. Select a specific callout in the Name column.

    The Callout Details page appears.

  3. Select a specific callout usage in the Details column of the Callout Usage section.

  4. Select a specific callout metadata parameter value to update in the Update column of the Callout Metadata Parameter Values section.

    The Update Callout Metadata Parameter Value page appears.

  1. Update the callout metadata parameter value.

  2. Click Apply.

    The callout metadata parameter value is updated and the Callout Usage Details page appears.

11.4.8 Deleting a Callout Metadata Parameter Value for a Callout Usage

Follow these instructions to delete a callout metadata parameter value for a callout usage:

  1. Click Partners, then Callouts.

  2. Select a specific callout in the Name column.

    The Callout Details page appears.

  3. Select a specific callout usage in the Details column of the Callout Usage section.

  4. Select a specific callout metadata parameter value to delete in the Delete column of the Callout Metadata Parameter Values section.

  1. Click Yes when prompted to delete a callout metadata parameter value.

    The callout metadata parameter value is deleted and the Callout Usage Details page appears.

11.5 Tutorial: Adding Callout Usages to the RosettaNet over the Internet Transaction

This section describes how to add callout usages to the RosettaNet over the Internet tutorial described in "Tutorial 1: Setting Up a RosettaNet over the Internet Transaction". These callout usages use the predefined callout named XSLTCallout to perform the following tasks:

This section describes these tasks:

See "Callouts Overview" for more information.

11.5.1 Acme Server, Task 1: Performing the RosettaNet over RNIF Tutorial

This tutorial assumes you have completed the RosettaNet over the Internet tutorial described in "Tutorial 1: Setting Up a RosettaNet over the Internet Transaction". As part of that tutorial, you set up the Acme server, where Acme was the host trading partner (buyer) and GlobalChips was the remote trading partner (seller).

Note:

The XML GW product sets the EDI Location Code in the Party Site ID field of XML GW message header. Ensure that you set the EDI Location Code ID type and corresponding value for the remote trading partner (3101 in the following example).

11.5.2 Acme Server, Task 2: Setting Up Callout Usages

Perform the following callout usage tasks on the Acme server:

11.5.2.1 Create an OAG Custom Document Type

You now create a document type. The document definition of this document type becomes part of the callout usage you create later in this tutorial.

  1. Click Partners, then Protocols, and then Custom Document over Internet.

  2. Click Create in the Document Protocol Revisions section.Enter the following details:

    Field Value
    Name OAG

    Note: This maps to a value in an enqueue script that you must create.

    Revision 7.0

  3. Click Apply.

    The Document Protocol Revision Details page appears.

  4. Click Create in the Document Types section.

  5. Enter the following details:

    Details Field Value
    Name OAG PO
    Revision 7.0

    Document Definition Field Value
    Name OAG_DocDef

    There are several document type parameters to use for integrating the OAG purchase order document with the XML Gateways. The first two document type parameter values enable the correct document type to be identified in the outbound direction. (A document type that has the document type parameter values specified for these two parameters is selected.)

    Document Type Parameters Field Value Description
    Outbound Process Type POPI TRANSACTION_TYPE value specified in the outbound SYSTEM.ECXMSG message structure
    Outbound Process SubType POPI TRANSACTION_SUBTYPE value specified in the outbound SYSTEM.ECXMSG message structure
    Inbound Process Type POPI For incoming messages, the value of this parameter is placed in the TRANSACTION_TYPE field of the SYSTEM.ECXMSG message structure
    Inbound Process SubType POPI For incoming messages, the value of this parameter is placed in the TRANSACTION_SUBTYPE field of the SYSTEM.ECXMSG message structure
    Inbound Party Code 3101 For incoming messages, the value of this parameter is placed in the PARTY_TYPE field of the SYSTEM.ECXMSG message structure

    Do not provide values for any of the following parameters:

    • OutboundPartyCode

      Not applicable for XML Gateway integration

    • IdentifyingXPath

      For an incoming REQUEST message, the value of this parameter is the xpath used when the DOCUMENT_NUMBER field is populated from the payload of the SYSTEM.ECXMSG message.

    • CorrelatingXPath

      For an incoming ACKNOWLEDGE message, the value of this parameter is the xpath used when the DOCUMENT_NUMBER field is populated from the payload of the SYSTEM.ECXMSG message.

  6. Click Apply.

    You now associate this document type with the RosettaNet over RNIF business protocol.

  7. Click Partners, then Protocols, and then RosettaNet over RNIF.

  8. Click Details in the Process Protocol Revisions section.

  9. Click Details for 3A4 in the Collaborations section.

  10. Click Request Purchase Order in the Business Transaction section.

  11. Click Purchase Order Request Action in the Requesting Action section.

  12. Click Purchase Order Request Action in the Business Action section.

  13. Click Add in the Document Types section.

  14. Select OAG PO from the Document Type list.

  15. Click Apply.

    The purchase order request action now includes the OAG purchase order document type.

See "Integrations with Oracle E-Business Suite" for details about the SYSTEM.ECXMGS message structure.

11.5.2.2 Modify XML Gateway Settings

Oracle E-Business Suite uses the XML Gateway Inbound and XML Gateway Outbound internal delivery channels. You now update these internal delivery channels with connection information appropriate to your environment.

  1. Click Partners, then Trading Partners.

  2. Click Acme (Host) in the Name column.

  3. Click Capabilities at the top of the Trading Partner Details page.

  4. Click XML Gateway Inbound in the Transport Server column of the Internal Delivery Channels section.

  5. Click Update on the Transport Server Details page.

  6. Enter details in the following fields that are appropriate to your environment:

    General Field Value
    Host Name your_host
    IP Address your_IP_address
    Username username
    Password password

    Transport Parameter Values Field Value
    port port_number
    sid database_sid

  7. Click Update.

  8. Click Return to List at the bottom of the page.

  9. Click XML Gateway Outbound in the Transport Server column of the Internal Delivery Channels section.

  10. Repeat Steps 5 through 7.

  11. If you changed the Username parameter in Step 6, you must also update the endpoint URIs for both XML Gateway internal delivery channels:

    1. Click Partners, then Trading Partners, and then Acme (Host).

    2. Click Capabilities at the top of the Trading Partner Details page.

    3. Click the RosettaNet over RNIF business protocol.

    4. Click Update for apps.ECX_OUTBOUND in the Endpoints section.

    5. Update the name to b2b.ECX_OUTBOUND.

    6. Click Update.

    7. Repeat Step 11d through Step 11f for the apps.ECX_INBOUND endpoint URI.

11.5.2.3 Modify the XSLTCallout Settings

  1. Click Partners, then Callouts.

  2. Select XSLTCallout in the Name column.

  3. Click Create in the Callout Usage section.

  4. Enter the following details to create a callout usage that takes the OAG purchase order document definition and maps it to the RosettaNet PIP 3A4 purchase order request document.

    Field Value
    Source Document Definition OAG_DocDef
    Target Document Definition Pip3a4PurchaseOrderRequest

  5. Click Apply.

  6. Click Create in the Callout Metadata Parameter Values section.

    The Create Callout Metadata Parameter Value page appears.

  7. Click the Use Existing Callout Property check box.

  8. Enter the following details to create a callout metadata parameter value.

    Field Value
    Callout Property xsltFile
    Value Provide the complete directory path to the XSLT file that you create to transform the OAG purchase order document to a RosettaNet PIP 3A4 purchase order request (for example, named oag_po_to_3a4_req.xslt).

  9. Click Apply.

11.5.2.4 Create a Trading Partner Agreement

  1. Follow the instructions in "Acme Server, Task 3: Creating the Trading Partner Agreement" to create a trading partner agreement. Make the following selections:

    • Select XML Gateway Outbound from the Internal Delivery Channel list.

    • Select the associated OAG_DocDef -> Pip3A4PurchaseOrderRequest callout usage from the Callout Usage list.

11.5.2.5 Create and Deploy a Configuration

  1. Follow the instructions in "Acme Server, Task 4: Creating and Deploying the Configuration" to create and deploy a configuration.

11.5.3 GlobalChips Server, Task 1: Performing the RosettaNet over RNIF Tutorial

This tutorial assumes you have completed the RosettaNet over the Internet tutorial described in "Tutorial 1: Setting Up a RosettaNet over the Internet Transaction". As part of that tutorial, you set up the GlobalChips server (seller), where GlobalChips was the host trading partner and Acme was the remote trading partner (buyer). On both servers, Acme was the buyer and GlobalChips was the seller.

11.5.4 GlobalChips Server, Task 2: Setting Up Callout Usages

Perform the following callout usage tasks on the GlobalChips server:

11.5.4.1 Create an OAG Custom Document Type

  1. Follow the instructions in "Create an OAG Custom Document Type" to create an OAG PO document type on the GlobalChips server.

11.5.4.2 Modify XML Gateway Settings

  1. Follow the instructions in "Modify XML Gateway Settings" to modify the XML Gateway settings on the GlobalChips server. This time, select GlobalChips (Host) on the Trading Partners page.

11.5.4.3 Modify the XSLTCallout Settings

  1. Click Partners, then Callouts.

  2. Select XSLTCallout in the Name column.

  3. Click Create in the Callout Usage section.

  4. Enter the following details to create a callout usage that takes the RosettaNet PIP 3A4 purchase order request document and maps it to the OAG purchase order document definition.

    Field Value
    Source Document Definition Pip3a4PurchaseOrderRequest
    Target Document Definition OAG_DocDef

  5. Click Apply.

  6. Click Create in the Callout Metadata Parameter Values section.

    The Create Callout Metadata Parameter Value page appears.

  7. Click the Use Existing Callout Property check box.

  8. Enter the following details to create a callout metadata parameter value.

    Field Value
    Callout Property xsltFile
    Value Provide the complete directory path to the XSLT file that you create to transform the RosettaNet PIP 3A4 purchase order request to an OAG purchase order document (for example, named 3a4_req_to_oag_po.xslt).

  9. Click Apply.

11.5.4.4 Create a Trading Partner Agreement

  1. Follow the instructions in "GlobalChips Server, Task 3: Creating the Trading Partner Agreement" to create a trading partner agreement. Make the following selections:

    • Select XML Gateway Inbound from the Internal Delivery Channel list.

    • Select the associated Pip3A4PurchaseOrderRequest -> OAG_DocDef callout usage from the Callout Usage list.

11.5.4.5 Create and Deploy a Configuration

  1. Follow the instructions in "GlobalChips Server, Task 4: Creating and Deploying the Configuration" to create and deploy a configuration.

11.6 Common User Errors

11.7 Summary

This chapter describes how to use callouts to transform documents from one form to another. You can use callouts to invoke an XSLT style sheet and any Java program in general. For example, an incoming remote trading partner's EDI document is sent to the host trading partner's host Oracle E-Business Suite application, which uses XML. Callouts enable you to transform the EDI document into an XML format understood by the Oracle E-Business Suite application. The outgoing document can then be transformed back into its original format. Callouts are associated with internal delivery channels. This chapter also provides a tutorial that describes how to add callout usages to the RosettaNet over the Internet tutorial described in "Tutorial 1: Setting Up a RosettaNet over the Internet Transaction".