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 | MRM and IDOC only |
Check message type | MRM only |
Validate message body | XMLNSC, 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 just 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 contained in the Validation drawer of the palette, and 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 complete 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. For more information, see Configuring a message flow node. The properties of the node are displayed in the Properties view. To display the properties of the node in the Properties dialog, 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.
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 | 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 Validate node Basic properties are described in the following table.
Property | M | C | Default | Description |
---|---|---|---|---|
Domain | No | No | The name of the domain. Select one of the following
values from the list of the Domain property:
|
|
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. If you are using the MRM or IDOC parser and want to
check that the incoming message belongs to a particular message set, select Check set and select one of the values from
the list of the Set property. This
list is populated when you select MRM or IDOC as the message domain. Leave Set clear for the other parsers. |
|
Check set | Yes | No | Cleared | If you select the check box, the incoming message is checked against the Set property. If you are using the MRM or IDOC parser and want to check that the incoming message belongs to a particular message set, select Check set and select one of the values from the list of the Set property. |
Type | No | No | The message name. If you are using the MRM parser and
want to check that the incoming message is a particular message type, select Check type and enter the name of the message
in the Type property. Leave Type clear for the other parsers. |
|
Check type | Yes | No | Cleared | If you select the check box, the incoming message is checked against the Type property. If you are using the MRM parser and want to check that the incoming message is a particular message type, select Check type and enter the name of the message in the Type property. |
The Validation properties of the Validate node are described in the following table.
If you are using the MRM or IDOC parser and want to validate the body of messages against the message set, select the required validation properties on the Validation tab. For more details, see Validating messages and Validation properties.
Property | M | C | Default | Description |
---|---|---|---|---|
Validate | No | Yes | None | This property controls whether validation takes place. Valid values are None, Content and Value, Content, and Inherit. |
Failure Action | No | 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. |
Include All Value Constraints | Yes | No | Selected | You cannot edit this property. Basic value constraint checks are included in Content and Value validation. |
Fix | Yes | No | None | Valid values are None, and Full. |