IBM BPM, V8.0.1, All platforms > Authoring services in Integration Designer > Services and service-related functions > Building mediation flows > Invoking a service

Invoking a service by using a callout

Invoking or calling a service in a mediation flow by using a callout is discussed. In this case, the response is in a different transaction, in a response flow. The call is made at the end of a request flow.

A callout is used to send a processed message to the operation. The callout can only be used at the end of the request flow and its returned message is caught by a Callout Response primitive in the response flow.

To invoke a service's operation using a callout, drop a callout from the palette onto the editor, and select the target reference and operation. A callout node appears in the mediation flow editor and it can be wired at the end of a flow. The node can be set to repeat calls to a service if the call fails as well as to try alternate endpoints. To do this:

  1. Right-click the node and select Show Properties. Then click Details and the view shows up.

    If the Reference Name and Operation Name which were selected when creating the callout node.

  2. The properties which can be changed are summarized in the table below.

    Callout node property description
    Property Description Possible Values
    Reference Name The reference of the service that is called by the callout  
    Operation Name The name of the operation called by the callout  
    Use dynamic endpoint if set in the message header Determines if the TargetAddress header should be used to override the endpoint if present.

    If set to True and if the TargetAddress header is populated, message is forwarded. Otherwise the message proceeds normally.

    Default: true

    Async Timeout Specifies time to wait for a responses when performing an asynchronous deferred response invocation.

    • -1 - infinite wait
    • 0 - expects an immediate response
    • 1+ - waits specified number of seconds for a response

    If timeout occurs, the fail terminal is fired. This is treated as an unmodeled fault with regard to retry conditions.

    Default: 5

    Async Timeout is only effective when the invocation style used for a Callout is Async with deferred response.

    Require mediation flow to wait for service response when the flow component is invoked asynchronously with callback Determines if the call should be forced to act in a synchronous manner.

    Boolean: true or false

    Default: false

    This option is only available with Async (Compatibility) and Default (Compatibility) invocation styles.

    Invocation Style Determines whether the service is invoked synchronously or asynchronously.

    Sync, Async (deferred), Async (callback), Async one way, Default (Compatibility), Async (Compatibility), As target

    Default: As target

    Retry On Determines whether and how fault responses affect retry.

    • Never - operation call is never retried, no matter the type of fault
    • Any fault - operation call is retried on both modeled and unmodeled faults
    • Modeled fault - operation call is retried only when a modeled fault is received
    • Unmodeled fault - operation call is retried only when an unmodeled fault is received


    Default: Never

    Retry Count Number of retry attempts following initial failure before a modeled fault, timeout or fail terminal is fired.

    The number must be an integer greater than or equal to 0.


    Default: 0

    Retry Delay Sets the delay between retry attempts, in seconds.

    Must be an integer greater than or equal to 0. If 0, there will be no delay between attempts meaning they will run as fast as the server can handle them.


    Default: 0

    Try Alternate Endpoints Determines if any alternate endpoints should be used on retries.

    • True - alternate endpoints found in the SMO headers will be used

    • Otherwise they are not tried

    This function is only available if 'Use dynamic endpoint' is also True.


    Default: True

In certain situations, such as input error detected, you may want to return the message immediately without invoking the callout. In this case you can use the input response node. This will bypass the flow and return the message to the source.

Invoking a service