Consulte los temas de concepto sobre nodos de flujos de mensajes y Analizador y dominio MRM.
El intermediario proporciona validación basándose en los diccionarios de mensajes para los mensajes predefinidos. Por tanto, la validación sólo se aplica a los mensajes que ha modelado y definido en el dominio MRM.
El intermediario no proporciona ninguna validación para los mensajes autodefinidos. No puede validar mensajes directamente en una DTD XML o un Esquema XML. En lugar de ello, deberá crear el modelo equivalente en el dominio MRM importando la DTD XML o el Esquema XML utilizando el Kit de herramientas de Message Brokers
Los flujos de mensajes están diseñados para transformar y direccionar los mensajes que cumplen ciertas normas. Por omisión, el analizador MRM realiza alguna comprobación de validez en un mensaje, pero sólo para asegurar la integridad de la operación de análisis. Sin embargo, puede validar un mensaje de forma más rigurosa contra el modelo de mensaje contenido en el diccionario de mensajes, especificando opciones de validación en ciertos nodos en el flujo de mensajes.
Puede utilizar las opciones de validación para validar los siguientes mensajes:
Estas opciones de validación pueden garantizar la validez de los datos que entran y salen del flujo de mensajes. Las opciones le proporcionan cierto control sobre la validación que se realiza para:
También puede especificar qué acción se debe realizar cuando falla la validación.
La validación de un mensaje comporta navegar por un árbol de mensaje y comprobar su validez. Es una ampliación de la creación de un árbol cuando se analiza el mensaje, y una ampliación de la creación de corriente de bits cuando se escribe el mensaje de salida.
Las opciones de validación están disponibles en los nodos siguientes:
Tipo de nodo | Nodos con opciones de validación |
---|---|
Nodo de entrada | MQInput, SCADAInput, HTTPInput, JMSInput, TimeoutNotification |
Nodo de salida | MQOutput, MQReply, SCADAOutput, HTTPReply, JMSOutput |
Otros nodos | Compute, Mapping, JavaCompute, Validate, ResetContentDescriptor, MQGet, HTTPRequest, |
También se pueden especificar opciones de validación en la sentencia ESQL CREATE y la función ASBITSTREAM.
Par validar mensajes de entrada recibidos en un nodo de entrada, puede especificar propiedades de validación en el nodo de entrada. Entonces el mensaje de entrada se valida mientras se analiza la corriente de bits de mensaje para formar el árbol de mensaje.
También puede utilizar la propiedad de temporización de análisis del nodo de entrada para controlar si se debe analizar y validar el mensaje entero en este momento o si sólo se deben analizar y validar campos individuales del mensaje cuando se haga referencia a ellos.
Para validar los mensajes de salida creados por un nodo Compute, un nodo Mapping o un nodo JavaCompute, especifique propiedades de validación en el propio nodo o especifique propiedades de validación en el nodo de salida que envía el mensaje. La validación tiene lugar cuando el nodo de salida crea la corriente de bits de mensaje desde el árbol de mensaje.
De forma alternativa, puede utilizar un nodo Validate para validar un árbol de mensaje en un lugar determinado del flujo de mensajes o puede utilizar la función ESQL ASBITSTREAM en un nodo Compute, Filter o Database.
Sin embargo, si utiliza opciones de validación puede solicitar la validación más completa de los mensajes. Por ejemplo, quizá desee validar una o más de las siguientes condiciones y generar una excepción o anotar los errores:
El ejemplo de ilustra algunas de estas opciones de validación.
Si desea ver más información sobre la temporización de análisis, consulte Propiedades de validación para mensajes del dominio MRM.
Para obtener información sobre cómo se puede controlar la validación utilizando propiedades diferentes, consulte el apartado Propiedades de validación para mensajes del dominio MRM.