Mirth: die SOAP-Antwort zwischen Zielen im gleichen Kanal teilen
-
06-09-2019 - |
Frage
Betrachten wir ein Szenario, in dem ein Mirth Kanal ein oder mehrere Ziele. In diesem Szenario gibt es 4 Ziele.
Die Quelle Typ des Kanals ist LLP Listener mit eingehendem Datentyp wie HL7 v2.x.
Der Kanals Ziele sind wie folgt:
- File Writer - Schreiben Sie die Nachricht auf der Festplatte. Das ist wirklich nur für Entwicklungszwecke.
- Javascript Writer - Schreiben Sie die Nachricht an die DB. Holen Sie sich einen Primärschlüssel. Setzen Sie diesen Schlüssel auf dem ChannelMap für zukünftige Ziele.
- SOAP Sender - einen Web-Service aufrufen und eine Antwort erhalten. Der Anruf läuft reibungslos.
- Javascript Writer - Nehmen Sie die Antwort von dem SOAP Sender oben, und schreiben Sie es auf eine DB, die Antwort mit dem Primärschlüssel aus der ersten Destination Zuordnung .
Eine Herausforderung besteht darin, die SOAP-Antwort von dem SOAP-Sender Ziel, und es irgendwo für das 4. Ziel speichern. Der SOAP-Sender ermöglicht es Ihnen, eine SOAP-Antwort auf einem anderen Kanal zu schicken, aber ich brauche es in dem nächsten Ziel. Ich habe in der Lage sein es in dem gleichen Kanal zu empfangen.
Frage: Wie kann ich die XML SOAP-Ergebnisse aus der 3. Destination zur 4. Destination gespeichert / gesendet werden?
Lösung
Ich nehme an, Ihre Kanäle synchronisiert
Angenommen, Ihr Schritt 3 SOAP Absender Ziel ist SOAPDestination genannt, wird in Schritt 4, Sie können dies tun:
var destination = responseMap.get ( 'SOAPDestination');
var responseMessage = destination.getMessage ();
// offene DB-Verbindung
// Schreib responseMessage zusammen mit der Primärschlüssel Sie gespeichert zurück in Schritt 2
// schließen DB-Verbindung