IBM Integration Bus, Version 9.0.0.8 Operating Systems: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

See information about the latest product version

Validate node

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, and to check that the content of the message is correct by selecting message validation.

This topic contains the following sections:

Purpose

The checks that you can perform depend on the domain of the message.
Check Domain
Check message domain All domains
Check message model XMLNSC, DFDL, MRM, and IDOC only
Check message DFDL and MRM only
Validate message body XMLNSC, DFDL, MRM and IDOC only

You can check the message against one or more of message domain, message model, or message. 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 IBM® Integration Toolkit by the following icon:

Validate node icon

Using this node in a message flow

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.

Terminals and properties

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. 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:
  • XMLNSC
  • DFDL
  • SOAP
  • DataObject
  • XMLNS
  • JMSMap
  • JMSStream
  • MIME
  • MRM
  • BLOB

You can also specify a user-defined parser, if appropriate.

Check domain Yes No Cleared If you select this check box, the incoming message is checked against the Domain property.
Message model No No   The name or identifier of the message model schema file to which the incoming message belongs. If you are using the XMLNSC, DFDL, DataObject, SOAP, MRM, or IDOC parser and want to check that the incoming message belongs to a particular message model, select Check message model and select one of the values from the list of the Message model property. This list is populated when you select XMLNSC, DFDL, DataObject, SOAP, MRM, or IDOC as the message domain.

Leave Message model clear for the other parsers.

If you set this property, then subsequently update the project dependencies to remove this message model reference, a warning is issued. Either update the Message model property, or restore the reference to this message model schema file.

Check message model Yes No Cleared If you select the check box, the incoming message is checked against the Message model property. If you are using the XMLNSC, DFDL, DataObject, SOAP, MRM, or IDOC parser and want to check that the incoming message belongs to a particular message model, select Check message model and select one of the values from the list of the Message model property.
Message No No   The message name. If you are using the DFDL, or MRM parser and want to check that the incoming message is a particular message type, select Check message and enter the name of the message in the Message property.

Leave Message clear for the other parsers.

Check message Yes No Cleared If you select the check box, the incoming message is checked against the Message property. If you are using the MRM parser and want to check that the incoming message is a particular message type, select Check message and enter the name of the message in the Message property.

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

If you are using the XMLNSC, DFDL, DataObject, SOAP, MRM, or IDOC parser and want to validate the body of messages against the message model, select the required validation properties on the Validation tab. For more details, see Validating messages and Validation properties.

Property M C Default Description mqsiapplybaroverride command property
Validate No Yes None This property controls whether validation takes place. Valid values are None, Content and Value, Content, and Inherit. validateMaster
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.  
The Monitoring properties of the node are described in the following table.
Property M C Default Description
Events No No None Events that you have defined for the node are displayed on this tab. By default, no monitoring events are defined on any node in a message flow. Use Add, Edit, and Delete to create, change or delete monitoring events for the node; see Configuring monitoring event sources using monitoring properties for details.

You can enable and disable events that are shown here by selecting or clearing the Enabled check box.


ac20803_.htm | Last updated Friday, 21 July 2017