Los primitivos de mediación aceptan mensajes que procesan como objetos de mensaje de servicio (SMO).
Todos los primitivos de mediación tienen un terminal de entrada que puede conectarse para aceptar un mensaje.
La mayor parte de los primitivos de mediación tienen uno o más terminales de salida que pueden conectarse para propagar un mensaje. No obstante, los primitivos de mediación Detener y Error no tienen terminales de salida. Los terminales de salida son para dos tipos de flujos: flujos de error y flujos sin error. En función del primitivo de mediación, existe como máximo un terminal de error. El número de terminales de salida sin error también depende del primitivo de mediación. Algunos primitivos de mediación no tienen terminales para la salida sin error, y otros tienen uno o más.
Si se produce una excepción durante el proceso del mensaje de entrada, el terminal con error propaga el mensaje original, junto con información sobre la excepción.
Si un terminal de salida de un primitivo de mediación se deja sin conectar, WebSphere Integration Developer genera un aviso. Durante la ejecución, el terminal de salida sin conectar detiene esta vía de acceso en el flujo sin generar ninguna excepción, y el mensaje se consume. Si desea detener una vía de acceso a través del flujo sin generar ninguna excepción, puede conectar el terminal de salida al primitivo de mediación Detener.
Los primitivos de mediación procesan mensajes como objetos de mensaje de servicio (SMO). Un SMO proporciona una capa de abstracción para procesar y manipular mensajes intercambiados entre servicios.
Cuando se crean flujos de mediación, la herramienta WebSphere Integration Developer especifica el tipo de cuerpo de mensaje para cada terminal (entrada, salida o error). La herramienta especifica opcionalmente el tipo de información de contexto. El producto en tiempo de ejecución utiliza esta información para convertir mensajes en objetos SMO del tipo especificado.
El modelo SMO es un patrón para utilizar objetos de datos de servicio (SDO) para representar mensajes. El SMO proporciona una interfaz para acceder a cabeceras y cargas de mensaje y modificarlas. Un SMO puede representar el contenido lógico de varios tipos de mensajes.
Muchos primitivos de mediación tienen una propiedad denominada Root que contiene una expresión XPath 1.0. Esta expresión representa la raíz de la mediación actual. Generalmente, puede especificar: /, /body, /headers o su propia expresión XPath. / hace referencia al SMO completo, /body hace referencia a la sección del cuerpo de SMO, y /headers hace referencia a las cabeceras del SMO. Si especifica su propia expresión XPath, se procesa la parte del SMO que especifique.
WebSphere Integration Developer muestra la estructura de un mensaje y permite seleccionar ubicaciones dentro del mensaje. De esta forma, es posible desplazarse por la estructura de un mensaje y crear expresiones XPath.
WebSphere Integration Developer no permite que Root tenga un valor nulo.
Un primitivo de mediación genera una excepción MediationConfigurationException si detecta un problema de configuración o una anomalía de recurso externo temporal. Por ejemplo, si no se encuentra una base de datos.
Un primitivo de mediación genera una expresión MediationBusinessException si existe un error de empresa. Por ejemplo, si no se encuentra una clave que debería estar en el mensaje.
El módulo de ejecución de mediación genera una excepción MediationRuntimeException si existen problemas para configurar un flujo de mediación.