Invoke a Co-located Integration from a Parent Integration

You can invoke a co-located, active integration from the parent integration that you are designing through use of the local integration adapter. Co-located means the integration is running on the same host instance or in the same domain. Upon activation and invocation of the parent integration, it invokes and consumes the co-located integration.

The local integration adapter is a system adapter that is not exposed on the Connections page when you create a connection. Instead, the local integration adapter is invoked by a preseeded connection. It is created when creating an integration, if the local integration connection does not exist. This adapter has no connection properties and no security policies.

The local integration adapter works as follows:
  • You select an active integration from runtime (that is, co-located) to build a new integration. Note the following guidelines:

    • Active synchronous-synchronous, asynchronous with no callback, and scheduled integrations are available for selection.

    • Asynchronous with callback integrations do not appear.

    • De-activated and draft integrations do not appear.

    • Scheduled integrations are permitted as an invoke connection and automatically called by the Submit Now option.

  • You can add multiple child integrations. You can also add an integration containing a child integration (embedding multiple levels).

  • You can map return values downstream. This mapping functionality is the same as for any other invoke mappings in the integration.

The local integration adapter and the existing SOAP Adapter and REST Adapter differ as follows:
  • You do not need to create multiple connections (SOAP/REST) to invoke the local integration service.

  • Runtime communication always uses HTTP (that is, non-SSL).

This adapter is invoked internally in Oracle Integration to perform the local service invocation.

Note the following local integration restrictions:
  • You cannot create a child integration with a WSDL having a nested anonymous schema. As a workaround, manually edit the WSDL and make the schema non-anonymous.
  • SOAP-based child integrations:
    • A parent integration cannot send an attachment to a configured child integration.
    • A parent integration cannot map any headers.
  • REST-based child integrations:
    • A parent integration cannot send an attachment to a configured child integration.
    • A parent integration cannot map any headers.
    • A parent integration cannot configure a child in which the child integration is an asynchronous type or fire-and-forget type.
    • A parent integration cannot process an XML payload that is expected by the child integration.

The following steps provide an overview of creating an orchestrated integration in which a parent integration invokes a co-located integration.

  1. Create and design an orchestrated integration.
  2. Add an integration action to an integration in either of the following ways:
    • On the right side of the canvas, click Actions icon and drag the Integration action to the appropriate location.
    • Click Plus icon at the location where you want to add the integration action, then select Integration.
    The Configure Local Integration Service wizard is displayed.
  3. Specify the following details, and click Next.
    Element Description

    What do you want to call your local integration invocation?

    Specify a name.

    What does this local integration invocation do?

    Specify a description.

  4. Specify the following details, and click Next.
    Element Description

    Integration

    Select the co-located integration to invoke. Only active integrations are displayed.

    Identifier

    Displays the identifier of the selected integration.

    Description

    Displays the description of the selected integration.

  5. Select the operation for the co-located integration to perform, and click Next. The operation depends on the child integration. If the child integration trigger connection is a REST Adapter, it can have Get, Post, Put, and Delete operations. If the child integration trigger connection is a SOAP Adapter, it can have the WSDL operation name. If the child integration trigger connection is a schedule, it executes a submit now configuration.
  6. Review your selections, and click Done.
  7. Complete design of the parent integration.
  8. Specify appropriate business identifiers for tracking the integration at runtime.
  9. Activate and invoke the integration.
  10. Go to the Track Instances page to track integration status.
    If successful, the Track Instances page has two instances (one for the parent and one for the child). If unsuccessful, and the parent is unable to call the child, there is one entry (for the parent). If the parent can call the child, there are two entries. If the child fails or the child was successful, but the parent the did not process properly the response, the parent may fail.