The broker provides validation based on the message model for predefined messages.
Read the concept topics about message flows and parsers, especially DFDL parser and domain and XMLNSC parser.
Validation applies only to messages that you have modeled and deployed to the broker. Specifically, the message domains that support validation are DFDL, MRM, XMLNSC, SOAP, and IDOC.
The broker does not provide any validation for self-defining messages. The DFDL, XMLNSC, and SOAP domains validate predefined messages directly against message model schema files. The MRM and IDOC parsers validate predefined messages against the message dictionary generated from a message set.
Message flows are designed to transform and route messages that conform to certain rules. By default, parsers perform 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 set by specifying validation options on certain nodes in your message flow.
You can also specify what action to take when validation fails.
Message validation involves navigating a message tree, and checking the validity of the tree. Message validation is an extension of tree creation when the input message is parsed, and of bit stream creation when the output message is written.
Node type | Nodes with validation options |
---|---|
Input node | FileInput, FTEInput, HTTPInput, JMSInput, MQInput, .NETInput, SCAInput, SOAPInput,TCPIPClientInput, TCPIPClientReceive, TCPIPServerInput, TCPIPServerReceiveTimeoutNotification |
Output node | EmailOutput, FileOutput, FTEOutput, HTTPReply, JMSOutput, JMSReply, MQOutput, MQReply, SCAReply, SOAPReply, TCPIPClientOutput, TCPIPServerOutput |
Other nodes | Compute, CICSRequest, DatabaseRetrieve, HTTPRequest, FileRead, JavaCompute, Mapping, MQGet, PHPCompute, ResetContentDescriptor, SCAAsyncResponse, SCARequest, SOAPRequest, SOAPAsyncResponse, Validate, XSLTransform |
Validation options can also be specified on the ESQL CREATE statement and the ASBITSTREAM function.
To validate input messages that are received on an input node, you can specify validation properties on the input node. The input message is then validated when 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 parsed and validated at this time, or whether individual fields in the message are parsed and validated only when referenced.
To validate output messages that are created by a transformation node, specify validation properties either on the node itself, or 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, use a Validate node to validate a message tree at a particular place in your message flow, or use the ESQL ASBITSTREAM function in a Compute, Filter, or Database node.
The samples illustrate some of these validation options.
You can view information about samples only when you use the product documentation that is integrated with the IBM® Integration Toolkit or the online product documentation. You can run samples only when you use the product documentation that is integrated with the IBM Integration Toolkit.
For more information about the Parse Timing property, see Parsing on demand.
For information about how you can control validation by using different properties, see Validation properties.