Utilice el primitivo de mediación Filtro de mensajes para direccionar los mensajes de forma selectiva.
El primitivo de mediación Filtro de mensajes utiliza expresiones XPath para permitir direccionar los mensajes que cumplen determinados criterios en distintas vías de acceso de un flujo.
El primitivo de mediación Filtro de mensajes tiene un terminal de entrada y varios terminales de salida. El terminal de entrada está conectado para aceptar un mensaje y los terminales de salida están conectados para propagar un mensaje. Un terminal de salida es para la salida de error, y otro es el terminal de salida predeterminado. Los otros terminales de salida están asociados, cada uno, a una expresión condicional simple. El contenido del mensaje se compara con cada expresión y, si la condición se cumple, el mensaje se propaga al terminal de salida asociado. El primitivo puede configurarse para utilizar el primer de salida que coincida o todos los terminales de salida coincidentes. Si el mensaje no cumple ninguna de las condiciones, se utiliza el terminal de salida predeterminado.
Si se produce una excepción durante el filtrado, el terminal con error propaga el mensaje original, junto con información sobre la excepción.
Puede utilizar el primitivo de mediación Filtro de mensajes para comprobar si el mensaje de entrada cumple algunos criterios. Por ejemplo, que se ha definido el valor de un campo necesario. Si el criterio no se cumple, puede generar un error utilizando el primitivo de mediación Error, o enviar una respuesta de error.
El primitivo de mediación Filtro de mensajes permite que distintos mensajes tomen vías distintas. Por ejemplo, es posible que un mensaje deba reenviarse a distintos proveedores de servicios en función de los detalles de la solicitud.
Puede utilizar el primitivo de mediación Filtro de mensajes para omitir los pasos innecesarios. Puede probar si determinados datos se encuentran en un mensaje y sólo realizar una operación de búsqueda en la base de datos si dichos datos faltan.
Cuando se utiliza junto con un primitivo de Búsqueda de base de datos, el Filtro de mensajes puede dirigir mensajes en función del contenido de una tabla de búsqueda administrada de forma independiente. Por ejemplo, puede dirigir un mensaje en función del estado de un cliente aun cuando el mensaje de entrada sólo contenga el identificador del cliente.
Si configura el primitivo para propagar mensajes a todos los terminales coincidentes, puede desencadenar varios sucesos y que cada uno de ellos requiera condiciones distintas. Por ejemplo, puede registrar todas las solicitudes relacionadas con un identificador de cuenta determinado y enviar solicitudes relacionadas con un producto determinado que deba auditarse.
Propiedad | Valores válidos | Valor predeterminado | |
---|---|---|---|
Filtros | Patrón | Serie: expresión XPath que se utiliza para verificar el mensaje de entrada | |
Nombre de terminal | Serie | ||
Modalidad de distribución | Serie: All o First | First |
Considere lo siguiente al utilizar el primitivo de mediación Filtro de mensajes: