Paths in a Mediation Flow

Each incoming message for an operation in a mediation interface follows an input path to a target operation, or a task that terminates the input path. Depending on the message exchange pattern, there could also be an output path for reply messages and a fault path for fault messages.

Paths in a mediation flow for each message exchange pattern


For operations that use the one-way message exchange pattern, there is only an input path from the mediation operation to the target operation. Operations that use the request-response message exchange pattern have an input path, an output path, and a fault path. Fault paths handle faults wherever they occur in a mediation flow—either during processing within the mediation flow, or during processing by the target operation.

The Mediation Flow Editor enables you to view the input, output, and fault paths for an operation by selecting the mediation operation, and then clicking on the appropriate button in the mediation paths area of the editor. Only the path for the currently selected mediation operation appears in the mediation paths area.

When the input path for a mediation operation is defined or changed, the output and fault paths are automatically changed to reflect the input path. Output or fault messages must be returned to the original invoker, so that the input, output, and fault paths are automatically kept compatible.

You can use Route tasks to divide a mediation path into multiple sub-paths to potential target operations. Route tasks allow the mediation path to be split into multiple sub-paths to potential target operations. While the path shows multiple potential destinations, each message is only sent to one destination. The path in the Mediation Flow Editor is like a map that describes the potential places where a message can go. When the mediation flow is executed, however, each message travels to only one target operation.

You can use multiple, nested route tasks to send a single message to a target in several different ways. Rather than using a single route task with compound conditions, the use of nested routes enables you to make complex routing decisions that are easier to follow.