Read the concept topics about message flow nodes and the MRM parser and domain.
The broker provides validation based on the message dictionaries for predefined messages. Validation, therefore, applies only to messages that you have modeled and defined to the MRM domain.
The broker does not provide any validation for self-defining messages. You can not validate messages directly against an XML DTD or XML Schema. Instead you should create the equivalent model in the MRM domain by importing your XML DTD or XML Schema using the Message Brokers Toolkit
Message flows are designed to transform and route messages that conform to certain rules. By default, the MRM parser performs some validity checking on a message, but only to ensure the integrity of the parsing operation. However, you can validate a message more stringently against the message model contained in the message dictionary, by specifying validation options on certain nodes in your message flow.
You can use validation options to validate the following messages:
These validation options can guarantee the validity of data entering and leaving the message flow. The options provide you with some degree of control over the validation performed to:
You can also specify what action to take when validation fails.
Message validation involves navigating a message tree and checking its validity. It is an extension of tree creation when the message is parsed, and an extension of bit stream creation when the output message is written.
Validation options are available on the following nodes:
Node type | Nodes with validation options |
---|---|
Input node | MQInput, SCADAInput, HTTPInput, JMSInput, TimeoutNotification |
Output node | MQOutput, MQReply, SCADAOutput, HTTPReply, JMSOutput |
Other nodes | Compute, Mapping, JavaCompute, Validate, ResetContentDescriptor, MQGet, HTTPRequest, |
Validation options can also be specified on the ESQL CREATE statement and ASBITSTREAM function.
To validate input messages received on an input node, you can specify validation properties on the input node. The input message is then validated as the message bit stream is parsed to form the message tree.
You can also use the Parse Timing property of the input node to control whether the entire message is to be parsed and validated at this time, or whether individual fields in the message are parsed and validated only when referenced.
To validate output messages created by a Compute node, a Mapping node, or a JavaCompute node, you either specify validation properties on the node itself, or you specify validation properties on the output node that sends the message. The validation takes place when the message bit stream is created from the message tree by the output node.
Alternatively, you can use a Validate node to validate a message tree at a particular place in your message flow, or you can use the ESQL ASBITSTREAM function within a Compute, Filter or Database node.
However, using validation options you can request more thorough validation of messages. For example, you might want to validate one or more of the following conditions and throw an exception, or log the errors:
The sample illustrates some of these validation options.
For more information on Parse Timing, see Validation properties for messages in the MRM domain.
For information about how you can control validation by using different properties, see Validation properties for messages in the MRM domain.
Notices |
Trademarks |
Downloads |
Library |
Support |
Feedback
![]() ![]() |
ac00400_ |