Validate node

This topic contains the following sections:

Purpose

Use the Validate node to check that the message that arrives on its input terminal is as expected.

You can check that the message has the expected message template properties (that is, the message domain, message set and message type).

You can also check that the content of the message is correct by selecting message validation.

The checks that can be performed depend on the domain of the message. See the following table:
Check Domain
Check message domain All domains
Check message set 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 containing 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, the Failure Action property must be set to either Exception or Exception List. Otherwise, validation failures are simply logged.

If all the specified checks pass, the message is propagated through the Match terminal of the node.

If any of the checks fail, the message is propagated through the Failure terminal. If the Failure terminal is not connected to some failure handling processing, an exception is thrown.

Note: 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:

Validate node icon

Using this node in a message flow

You can use the Validate node to confirm that a message has the correct message template properties, and has valid content, before allowing the message into the rest of the flow. This means that subsequent nodes can rely upon 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, you can configure it 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 received, use the Validate node to ensure that only staff messages that have a specific message type are processed by this message flow.

Configuring the Validate node

When you have put an instance of the Validate node into a message flow, you can configure it. Right-click the node in the editor view and click Properties. The node's basic properties are displayed.

All mandatory properties for which you must enter a value (those that do not have a default value defined) are marked with an asterisk on the properties dialog.

Configure the Validate node as follows:

  1. To check the parser to be used for the incoming message, select the box Check Domain and choose one of the following values from the drop-down list of the Domain property:
    • MRM
    • XML
    • XMLNS
    • XMLNSC
    • JMSMap
    • JMSStream
    • MIME
    • BLOB
    • IDOC
  2. If you are using the MRM or IDOC parser, to check that the incoming message belongs to a particular message set, select the check box Check Set and choose one of the values from the drop-down list of the Set property. This list is populated when you choose MRM or IDOC as the message domain.

    Leave Set clear for the XML, JMS, MIME and BLOB parsers.

  3. If you are using the MRM parser, to check that the incoming message is a particular message type, select the check box Check Type and enter the name of the message in the Type property.

    Leave Type clear unless you are using the MRM parser. Note that the IDOC parser automatically obtains the message type from the message.

  4. If you are using the MRM or IDOC parser, to validate the body of messages against the dictionary generated from the message set, select the desired validation properties from the Validation properties dialog.

    For more details refer to Validating messages and Validation properties for messages in the MRM domain.

  5. Select Description in the properties dialog navigator to enter a short description, a long description, or both.
  6. Click Apply to make the changes to the Validate node without closing the properties dialog. Click OK to apply the changes and close the properties dialog.

    Click Cancel to close the dialog and discard all the changes that you have made to the properties.

Terminals and 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 Validate node; the column headed M indicates whether the property is mandatory (marked with an asterisk on the properties dialog 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 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 Whether to check the incoming message against the Domain property. If you select the check box, this action is performed.
Set No No   The name or identifier of the message set to which the incoming message belongs.
Check Set Yes No Cleared Whether to check the incoming message against the Set property. If you select the check box, this action is performed.
Type No No   The message identifier.
Check Type Yes No Cleared Whether to check the incoming message against the Type property. If you select the check box, this action is performed.

The Validation properties of the Validate node are described in the following table. Refer to Validation properties for messages in the MRM domain for a full description of these properties.

Property M C Default Description
Validate Yes Yes None Whether validation takes place. Valid values are None, Content and Value, and Content, and Inherit.
Failure Action Yes No Exception 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 This property cannot be edited. The default action, indicated by the check box being selected, is that basic value constraint checks are included in Content and Value validation.
Fix Yes No None This property cannot be edited. Valid values are None, and Full.

The Description properties of the Validate node are described in the following table.

Property M C Default Description
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.