Show TOC

Defining a Recipient ListLocate this document in the navigation structure

Context

You use this procedure to forward a message from the sender to specific receivers based on routing conditions. The list of receivers are called as recipient list and the conditions for each receivers are evaluated by the runtime engine to forward the message to the right receiver. You can configure the behavior of an integration flow when the target receiver is not found, for example, you can choose to ignore the error, generate an error message, or allow a default receiver to handle the incoming message.

Note
  • You can have a single receiver with a routing condition to receive only selective messages.

  • If more than one condition is true then message is sent to all the valid receivers.

  • To define static conditions to determine the recipient of the incoming message, follow the steps given below. If you want to dynamically determine the target receiver, see Defining Dynamic Routing. If you want to use receiver rules, see Using Receiver Rules.

Handling Receivers Without Conditions

No default receiver is set and a receiver is not defined with any condition

If you have not defined any condition for a receiver, then that receiver is always accepted in the Recipient List. This means that if Receiver 1 is the recipient of the incoming message and Receiver 2 is not assigned with any condition, then Receiver 2 also gets the incoming message.

Default receiver is set and a receiver is not defined with any condition

If you have set a default receiver and you still have a receiver without any condition, then the incoming message always reaches the receiver with no condition and the default receiver is not required.

Receiver with no condition is set as the default receiver

If you have defined routing conditions for all the receivers and you have selected the receiver with no condition as the default receiver, then that receiver is always ignored from the Recipient List. This means that if a target receiver is not found, the default receiver receives the incoming messages.

Procedure

  1. If you want to add a Recipient List , perform the following steps:
    1. Select the sequence flow (shown by solid arrow) in the pool.

    2. Right-click on it and choose Add Recipient List from the context menu.

    3. In the Model Configurator , choose the Recipient List , and right-click on it.

    4. From the context menu, choose Add Receiver .

  2. In the Model Configurator , choose the Recipient List .
  3. In the first column of the table in the Properties view, enter a name for the condition to identify the condition in the Model Configurator .
    Note
    • If you have not assigned any receiver system, the Receiver column is empty.

    • When you select a condition label in the Model Configurator , the corresponding row in the Properties view is highlighted.

  4. Select the row and choose Edit…
  5. In the Condition Editor , enter an expression that determines the receiver of the incoming message.
    Example
    • Enter an Xpath expression such as, Xpath./p1:GetFruitPriceQuoteUS = "200" where p1 is a prefix for the namespace.

    • Enter a ContextObject expression such as, ContextObject.TServerLocation = "10.66.20.100"

    Note

    For more information on how to define a condition, see Defining Conditions .

  6. Choose OK .
  7. Perform steps 3 to 6 for remaining receivers.
  8. To handle any failure while determining a receiver, select Click here to configure the routing behavior link.
    Note

    In the Routing Behavior , select one of the following options:

    • Ignore this Error : To terminate message processing.

    • Generate Error Message : To terminate message processing with an error.

    • Default Receiver : To handle the incoming message when the target receiver is not found.