Alegría:compartir la respuesta SOAP entre destinos en el mismo canal
-
06-09-2019 - |
Pregunta
Considere un escenario en el que un canal Mirth tiene uno o más destinos.En este escenario, hay 4 Destinos.
El tipo de fuente del canal es LLP Listener con un tipo de datos entrante como HL7 v2.x.
Los Destinos del canal son los siguientes:
- File Writer: escribe el mensaje en el disco.Realmente esto es sólo para fines de desarrollo.
- Javascript Writer: escribe el mensaje en la base de datos.Obtenga una clave principal.Coloque esa clave en ChannelMap para destinos futuros.
- Remitente SOAP: llame a un servicio web y reciba una respuesta.La llamada se desarrolla sin problemas.
- Escritor de Javascript: tome la respuesta del remitente SOAP anterior y escríbala en una base de datos, asociando la respuesta con la clave principal del primer destino.
Un desafío es obtener la respuesta SOAP del destino del remitente SOAP y guardarla en algún lugar para el cuarto destino.El remitente SOAP le permite enviar una respuesta SOAP a otro canal, pero lo necesito en el próximo destino.Tengo que poder recibirlo en el mismo canal.
Pregunta:¿Cómo puedo guardar/enviar los resultados XML SOAP del tercer destino al cuarto destino?
Solución
Supongo que tus canales están sincronizados.
Supongamos que el destino del remitente SOAP del paso 3 se llama SOAPDestination, luego, en el paso 4, puede hacer esto:
var destino = respuestaseMap.get ('SoapDestination');
VAR ResponseMessage = Destination.getMessage ();
// abrir conexión a la base de datos
// Escribir ResponseMessage junto con la clave principal que almacenó en el paso 2
//cerrar la conexión a la base de datos