Multiplexer

Usage

A Multiplexer merges several incoming XML messages arriving at various times into one output XML message.

Using a Multiplexer may run into an unsubstantiated timeout during high traffic. The error often occurs when the timeout configure for the Multiplexer has expired and more messages are coming into the Multiplexer in parallel. Possibly, a race condition can occur.

Merging of variables

The variables of all incoming branches are merged. The basis is formed by the variables of the branch taken last of all. The variables of all other branches are added in case their variable names do not yet exist in the basis.

Example

The following illustration demonstrates how two messages from two connectors are merged into one message at the multiplexer and are forwarded:

module guide 1298 1

In the following illustration, the multiplexer merges a message from the splitter with the results of the database query:

module guide 1298 2

Configuration

A Multiplexer module has no configurable properties.

Merging the messages is configured in the workflow at the input connections.

Format of the output message

The output message has an INUBIT internal XML format, which can be configured to a large extent.

Dialog Multiplexer Properties

Call up

In the Technical Workflow > open the Multiplexer input context menu > Select Edit configuration data of multiplexer.

Use the dialog for Multiplexer properties to specify how you want the Multiplexer to merge input messages.

The settings for the Envelope-XML element and for the mode apply to all incoming connections of the multiplexer. All other settings only apply to the specific connection selected in the list Existing Connections.

XML Root Envelope

Envelope XML element for output message: Enter the name of the XML message’s root element of the XML output message generated by the Multiplexer.

Mode

  • Process only messages from one workflow execution: If activated, the Multiplexer processes only messages belonging to the same workflow execution and which thus have the same process ID (system variable ISProcessID).

  • Time controlled processing of the message (FIFO): When activated, messages are processed in the order they are received at the Multiplexer (first in, first out).

    In FIFO mode, it is not possible to handle messages from different workflow instances separately.

  • Use ISProcessId, ISGlobalProcessId and ISTagName from

    In the FIFO mode, you can specify the connection from which the system variables mentioned above are to be used.

Module

Module for connecting: The list displays all modules that are connected to the Multiplexer’s input.

Select the module whose connection with the Multiplexer you would like to configure.

Each connection must be configured separately. If not all connections are configured, messages are processes in a time-controlled manner (FIFO).

Description

Description of the connection. The description is displayed on the connection line.

Value matching

  • Use XML element from input message for value matching

    If activated, the value of a selected XML element is matched in all input messages and the Multiplexer merges only those messages whose values correlate.

    By using this function, you can e.g. merge all messages containing the same order number.

  • XML element

    Specify the XPath to the XML element in the incoming XML document that will be used for value matching.

    Alternatively, you can click to load a suitable sample file and select the XML element in the file.

Miscellaneous

  • Set XML envelope element for message: Select this option to enclose the input message in an element with an individually indicated name.

  • Ignore XML root element in input message: If you select Yes, the Multiplexer merges the input message with the other messages while leaving out the root element.

  • Input message required: If you select Yes, the Multiplexer waits for the input message. Process execution only continues after the message arrived.

    If you select No, the Multiplexer processes the input messages as soon as it arrives. However, in case the input message has not yet arrived while for all other connections the conditions for continued workflow processing are fulfilled, the Multiplexer waits for the expiration of the Timeout. After that, the workflow is continued.

  • Ignore input message: If you select Yes, the arrival of the input message is used as a trigger to continue the workflow (provided that conditions at the other connections are fulfilled).

    The input message itself is not transferred.

  • Timeout: Specifies how long the Multiplexer should wait for the arrival of a message at this entry point. If the specified time has been exceeded without the arrival of a message

    • either the workflow is cancelled and throws an error if the input message was required

    • or the process is continued if the message was not mandatory.

      A timeout starts as soon as the first message for the process has been received. This is also the starting point for calculating timeout intervals for other messages that have yet to be received.

      A timeout equaling 0 means that the Multiplexer will wait indefinitely (disabling the Multiplexer).

  • Number of input messages: Number of expected messages per workflow execution.