Message Validator mediation primitive properties

You can specify values for mediation primitive properties either by using the property fields in the IBM® Integration Designer user interface or by using an XML format. The property field names displayed in IBM Integration Designer are generally different from the property names used when building a mediation flow using XML code. In the following information, icons are used to identify each property name used in IBM Integration Designer and the corresponding XML name. (Where applicable, XML names that are required, but not shown in IBM Integration Designer, are also described.)

Enabled enabled

Defines whether runtime validation is performed. If the Enabled property is true, the Message Validator mediation primitive performs runtime validation. The validation includes all message fields and not just those that you have overlaid.

If there is a mismatch, an exception occurs and the fail terminal propagates the original message and stores the exception information in the failInfo element of the SMO. The exception information stored is the text of message. For example, CWSXM3802E: The type at /body/operation1/input1/float is 'string', while the asserted type states it should be 'float'.
Field detail Value and notes
Required Yes
Valid values Boolean
Note:
Default true

Root root

An XPath 1.0 expression representing the validation scope.

Field detail Value and notes
Required Yes
Valid values XPath
Note:
You can specify:
  • / Refers to the complete SMO
  • /body Refers to the body section of the SMO
  • /headers Refers to the headers of the SMO

Alternatively, you can specify your own XPath expression, in which case only the part of the SMO you specified is validated.

Default /body

Considerations

  • The Enable and Root properties are both promotable properties of the Message Validator mediation primitive and can be set at run time.

Sample XML code

<node name="MessageValidator1" type="MessageValidator">
  <inputTerminal/>
  <outputTerminal>
    <wire targetNode="FlowOrder1"/>
  </outputTerminal>
  <failTerminal/>
</node>