Use the Validate node to check that the message that arrives on its input terminal is as expected. You can use this node to check that the message has the expected message template properties (the message domain, message set and message type) and to check that the content of the message is correct by selecting message validation.
This topic contains the following sections:
Check | Domain |
---|---|
Check message domain | All domains |
Check message set | XMLNSC, MRM, and IDOC only |
Check message type | MRM only |
Validate message body | MRM and IDOC only |
You can check the message against one or more of message domain, message set, or message type. The property is checked only if you select its corresponding check box, which means that a property that contains an empty string can be compared.
You can check the content of the message by giving a value to the Validate property. Validation takes place if the Validate property is set to a value other than None, which is the default value.
For validation failures to be returned to the Validate node from the parser, set the Failure Action property to either Exception or Exception List. Otherwise, validation failures are logged.
If all the specified checks pass, the message is propagated to the Match terminal of the node.
If any of the checks fail, the message is propagated to the Failure terminal. If the Failure terminal is not connected to some failure handling processing, an exception is generated.
The Validate node replaces the Check node, which is deprecated in WebSphere Message Broker Version 6.0 and subsequent releases. The Validate node works in the same way as the Check node, but it has additional Validation properties to allow the validation of message content by parsers that support that capability.
The Validate node is represented in the workbench by the following icon:
Use the Validate node to confirm that a message has the correct message template properties, and has valid content, before propagating the message to the rest of the flow. Subsequent nodes can then rely on the message being correct, without doing their own error checking.
You can also use the Validate node to ensure that the message is routed appropriately through the message flow. For example, configure the node to direct a message that requests stock purchases through a different route from that required for a message that requests stock sales.
Another routing example is the receipt of electronic messages from your staff at your head office. These messages are used for multiple purposes (for example, to request technical support or stationery, or to advise you about new customer leads). These messages can be processed automatically because your staff fill in a standard form. If you want these messages to be processed separately from other messages that are received, use the Validate node to ensure that only staff messages that have a specific message type are processed by this message flow.
When you have put an instance of the Validate node into a message flow, you can configure it. To display its properties, either double-click the node, or right-click the node and click Properties.
All mandatory properties for which you must enter a value (those that do not have a default value defined) are marked with an asterisk.
Configure the Validate node.
Leave Set clear for the XML, JMS, MIME and BLOB parsers.
Leave Type clear unless you are using the MRM parser. The IDOC parser obtains the message type from the message automatically.
For more details, refer to Validating messages and Validation properties.
The terminals of the Validate node are described in the following table.
Terminal | Description |
---|---|
In | The input terminal that accepts a message for processing by the node. |
Failure | The output terminal to which the message is routed if the incoming message does not match the specified properties. |
Match | The output terminal to which the message is routed if the incoming message matches the specified properties. |
The following tables describe the properties of the node. The column headed M indicates whether the property is mandatory (marked with an asterisk if you must enter a value when no default is defined); the column headed C indicates whether the property is configurable (you can change the value when you add the message flow to the bar file to deploy it).
The Description properties of the Validate node are described in the following table.
Property | M | C | Default | Description |
---|---|---|---|---|
Node name | No | No | The node type, Validate | The name of the node. |
Short Description | No | No | A brief description of the node. | |
Long Description | No | No | Text that describes the purpose of the node in the message flow. |
The Basic properties of the Validate node are described in the following table.
Property | M | C | Default | Description |
---|---|---|---|---|
Domain | No | No | The name of the domain. | |
Check Domain | Yes | No | Cleared | If you select this check box, the incoming message is checked against the Domain property. |
Set | No | No | The name or identifier of the message set to which the incoming message belongs. | |
Check Set | Yes | No | Cleared | If you select the check box, the incoming message is checked against the Set property. |
Type | No | No | The message identifier. | |
Check Type | Yes | No | Cleared | If you select the check box, the incoming message is checked against the Type property. |
The Validation properties of the Validate node are described in the following table. Refer to Validation properties for a full description of these properties.
Property | M | C | Default | Description |
---|---|---|---|---|
Validate | Yes | Yes | None | This property controls whether validation takes place. Valid values are None, Content and Value, and Content, and Inherit. |
Failure Action | Yes | No | Exception | This property controls what happens if validation fails. You can set this property only if you set Validate to Content or Content and Value. Valid values are User Trace, Local Error Log, Exception, and Exception List. |