Procesamiento de adaptadores de envío de MLLP
El adaptador de envío del Protocolo de capa inferior mínima (MLLP) admite modos de transporte unidireccionales y bidireccionales en las siguientes configuraciones:
Adaptador de envío de solicitud-respuesta bidireccional
Adaptador de envío unidireccional configurado para recibir confirmaciones (ACK)
Adaptador de envío unidireccional configurado para no devolver mensajes
Adaptador mlLP de envío de solicitud-respuesta bidireccional
Use este adaptador en un escenario sincrónico de un extremo a otro verdadero. Por lo tanto, solo puede usar este adaptador con una entidad de destino. El adaptador de envío mantendrá continuamente una conexión abierta con la parte remota (URL) hasta que enruta un mensaje de retorno al puerto de recepción de respuesta de solicitud. Consulte el diagrama siguiente para ver la arquitectura del procesamiento de respuesta/solicitud de solicitud.
Al usar este adaptador, puede dirigir el sistema para devolver una ACK o un mensaje de respuesta a la aplicación de línea de negocio. Para ello, con la opción Route ACK to Send Pipeline on Request Response Receive Port (Enrutamiento de ACK para enviar canalización al puerto de recepción de respuesta de solicitud) en el Explorador de configuración de BTAHL7. Seleccione esta propiedad para devolver una ACK o anular su selección para devolver una reunión de respuesta.
Una vez que un puerto de envío con este adaptador ha enviado correctamente el mensaje original, BTAHL7 elimina ese mensaje. La canalización de recepción asociada a este puerto de envío no generará una ACK. BizTalk reenviará la respuesta de consulta a la aplicación de origen independientemente del valor del campo MSA2 de esa respuesta.
Adaptador MLLP de envío unidireccional configurado para recibir ACK
Este adaptador recibe ACK en la misma conexión de socket en la que envía el mensaje original y entrega los ACK a la ubicación de recepción. El adaptador de envío mantiene continuamente una conexión abierta con la parte remota (URL), incluso si no hay mensajes esperando BizTalk Server enviarlos. Si varios puertos apuntan a la misma entidad remota, el adaptador de envío mantiene una conexión para cada puerto de envío.
El programa de instalación del Acelerador de Microsoft BizTalk para HL7 (BTAHL7) instala una ubicación de recepción predeterminada, TwoWayAckReceiveLocation. Puede usar esta ubicación de recepción con el adaptador de envío MLLP para recibir ACK. Esta configuración del puerto de envío mediante este adaptador requiere que asocie una ubicación de recepción con el puerto de envío.
Use este puerto de envío si está configurado para recibir un mensaje de respuesta con un campo MSA o para admitir varios destinos. El adaptador de solicitud-respuesta bidireccional no funciona con el campo MSA ni con varios destinos.
Confirmaciones recibidas por el adaptador de envío mlLP unidireccional
Cuando un adaptador de envío MLLP unidireccional configurado para las ACK recibe uno, BizTalk Server elimina el mensaje original de la base de datos del cuadro de mensajes, lo reintenta o lo suspende, según el tipo de ACK. BTAHL7 analiza la ACK en dos fases:
La primera fase se realiza en el adaptador de envío donde BTAHL7 analiza el campo MSA1 para determinar el tipo de ACK.
En la segunda fase, BTAHL7 realiza un análisis completo de ACK y, a continuación, envía la ACK a la base de datos messageBox.
Configure la ACK que espera el adaptador de envío bidireccional en el Explorador de configuración de BTAHL7.
En la tabla siguiente se muestran los ACK que un adaptador de envío mlLP puede recibir y la acción resultante en el mensaje original.
ACK recibido | Acción en el mensaje original |
---|---|
Confirmar aceptación o Aceptar aplicación | Eliminar de la base de datos de Cuadro de mensajes |
Confirmación o aplicación, Rechazar ACK o ACK no válido | Suspender |
Confirmación o error de aplicación | Reintentar o mover al transporte o suspensión de copia de seguridad |
Correcto de ACK estático | Eliminar de la base de datos de Cuadro de mensajes |
Error de ACK estático | Suspender |
En la tabla siguiente se muestran las condiciones de ACK que no son válidas.
Instancia | Condición |
---|---|
HL7 (original, mejorado, diferido) | 1. No contiene XML. 2. No tiene la estructura para que no se pueda recuperar el campo MSA1; o el campo MSA1 no contiene uno de los valores permitidos (CA, AA, CR, AR, CE, AE). |
Estático | No coincide con uno de los valores permitidos para éxito o con errores ACK. |
Contiene XML | Tratado como ACK de aceptación (independientemente del contenido) y eliminando el mensaje original. |
Condiciones de error
Lo siguiente puede ocurrir cuando hay una condición de error o inactividad:
Si se produce un error en la serialización del mensaje saliente, el adaptador de envío no enviará el mensaje, a menos que sea un mensaje por lotes que BTAHL7 esté transmitiendo. Si es así, y BTAHL7 detecta un error de serialización a la mitad del mensaje, el adaptador no enviará EB/CR, ya que BizTalk Server no ha enviado el mensaje completo. La canalización registra un error y el adaptador intenta enviar de nuevo el mensaje por lotes.
Si se produce un error en una operación de envío, el adaptador intenta enviar el mensaje de nuevo, hasta el número de reintentos especificados en los valores de configuración del puerto de envío. Después de agotar los reintentos, el mensaje pasa al transporte de copia de seguridad, si existe uno. Si se produce un error en todo, el mensaje se suspende. El mensaje suspendido estará en el formato original (XML).
BTAHL7 puede generar los siguientes eventos para describir las condiciones de error:
Evento | ID | Condición de error |
---|---|---|
ErrorSendingMessage | 8450 | No se pudo enviar un mensaje a la entidad remota. Las razones más comunes son errores de red o tiempos de espera. BTAHL7 puede notificar este error si se produce un error en la canalización de envío al serializar un mensaje grande. |
ErrorReeplyAck | 8451 | No se pudo recibir una confirmación debido a un error de red o a un tiempo de espera. |
ErrorConnecting | 8453 | No se pudo establecer una conexión TCP a la entidad remota: no se pudo resolver el nombre de host o la parte remota no escucha en el puerto o rechaza las conexiones. |
Nota:
La configuración de la entidad de destino (en MSH5 del mensaje original) determina si BTAHL7 espera un ACK estático o HL7. En caso de un error de coincidencia, BTAHL7 trata la ACK como no válida.
Una vez que el adaptador de envío de MLLP procesa una ACK, el ACK se entrega a la ubicación de recepción como un mensaje por sí mismo. El desensamblado realiza el análisis completo de la ACK, lo que puede provocar errores de análisis notificados por la canalización de recepción o la ACK que se está suspendiendo.
Consulte también
Procesamiento de mensajes con codificación MLLP
Parámetros de configuración para adaptadores de envío y recepción
Procesamiento de adaptadores de recepción de MLLP
Configurar un puerto de envío para recibir confirmaciones