Channel Settings Device (Message Validation)
The Channel Settings device is a generic Non-Processing device designed to hold data related to a channel. Up to version 17, it only holds the logic for Message Validation.
Message Validation is a feature that stores and validates key-value pairs associated with a message. These key-value pairs travel with the message to and from other Connexion instances as well as Remote Agents.
All messages arriving at a queue (in either Connexion or Remote Agent) can validate this key-value data, and reject the message if there is a mismatch.
This feature guarantees that messages are not accidentally sent to the wrong endpoint (ie, the provenance of the data).
Under the covers, the first queue in the channel will ensure that all identities associated with the incoming message exist (and match) the settings in the Verify Identities table (if enabled). The last queue in the channel will add the identities defined in the Set Identities table (if enabled).
If there is a mismatch, the incoming message is either rejected or moved directly to the error queue.
Example Validation
In this example, we’re going to set an identity in the Branch channel by adding a Channel Settings device, enabling Set Identities, and adding MyIdentifier with value 12345.
If we run some messages into the paused queue, we can see that identities are shown in the messages table.
If we add a Channel Settings device to the O1 channel, enable Validate Identities, and enter an identity MyIdentifier with value 54321, we’ll see that any incoming messages are errored.
The error behavior may vary depending on the workflow - when possible, the message is errored in the source channel.
Identities support global properties. You can define global variables at the Group level and use the {Group.VariableName} syntax if you want to provide customer/group-level validation.