Almacenamiento y reenvío del adaptador de recepción de SWIFT
El adaptador de recepción recibe mensajes de la cola de almacenamiento SWIFT y reenvío (SnF). Para recibir mensajes de la cola, el adaptador debe abrir una sesión con la cola de SnF. Para abrir la cola, debe tener un proceso de cliente dedicado que establezca la sesión con la cola. En el diseño, este proceso se implementa como un componente COM más fuera de proceso.
Almacenamiento de sesión de inserción y secuencia de reenvío
En la lista siguiente se describe la secuencia de almacenamiento y reenvío.
Inicie la aplicación de servidor que procesa los mensajes.
El proceso de servidor abre los contextos de seguridad necesarios durante el primer SwCallback con Sw:HandleInitRequest como primitivo de entrada.
El servidor responde a Sw:HandleInitRequest con o sw:CryptoMode y Sw:FACryptoMode establecido en Avanzado.
El servidor ya está listo para empezar a procesar las solicitudes entrantes.
Para iniciar la entrega de mensajes desde una cola, un proceso de cliente inicia una sesión de inserción. En función de la configuración del adaptador (modo de inserción), el adaptador de recepción genera un proceso de cliente denominado SnFQueueManager.exe para adquirir la cola en modo de inserción.
Un SwCall() se ejecuta con Sw:AcquireSnFRequest (dentro de Sw:ExchangeSnFRequest) como primitivo de entrada. Esta solicitud inicia una sesión con la cola indicada (si SwSec:AuthorisationContext tiene el rol RBAC necesario).
Inmediatamente después de responder con "Aceptado" en Sw:AcquireStatus, SWIFTNet SnF comienza a enviar mensajes al servidor tal y como se especifica en la adquisición. Si el adaptador de recepción aún no se ha iniciado, los mensajes obtienen excepciones. (Por eso es importante que ya se hayan iniciado los adaptadores de recepción).
SWIFTNet SnF comienza a insertar varios mensajes (hasta el tamaño de la ventana).
Para cada mensaje confirmado, se inserta un mensaje nuevo (si existe).
El proceso de cliente (SnFQueueManager.exe) ha realizado su trabajo y ahora puede finalizar. El proceso emite SwSec:DestroyContextRequest, que limpia los contextos de seguridad abiertos. Después de Sw:TermRequest, se cierra el proceso.
Correlación del mensaje
El campo RequestRef se conserva y sustituye de nuevo en los mensajes de respuesta por el adaptador de recepción. Esto garantiza una correlación de un extremo a otro entre el mensaje entrante y el mensaje de respuesta.
Procesamiento duplicado
Si recibe una solicitud FileAct y la instancia del adaptador recibe un mensaje con un nodo Indicador duplicado posible, debe comprobar si la transferencia a la que se hace referencia ya se ha completado correctamente o si se ha producido un error y realizar la acción adecuada. Si la transferencia de archivos ya se ha realizado, el adaptador actualiza el estado de transferencia como "Duplicado" de lo contrario, lo actualiza como "Aceptado".
Agradecimientos
Si el remitente solicita una confirmación para una solicitud FileAct, el adaptador comprueba el evento de finalización de transferencia de archivos y genera la confirmación después de comprobar el valor de resumen del archivo. El adaptador envía el mensaje de confirmación a BizTalk para que el adaptador de envío lo recoja y lo envíe al remitente.
Consulte también
Arquitectura del adaptador de recepción de SWIFT
URI del adaptador de recepción de SWIFT
Inicialización del adaptador de recepción de SWIFT
Contexto de seguridad del adaptador de recepción de SWIFT
Modos sincrónico y diferido del adaptador de recepción de SWIFT