Wie verarbeiten Sie Antwortobjekte im Antworttransformator für benutzerdefinierte Bestätigung in Mirth 3.0?

StackOverflow https://stackoverflow.com//questions/21001790

  •  20-12-2019
  •  | 
  •  

Frage

Ich benutze Mirth 3.0.1.7051.

Ich habe derzeit einen 2-Arbeitskanälen auf MITTH 2.2.2.6388.

Kanal 1) test_adt_hl7_to_xml Kanal 2) test_xml_sender

Kanal 1 - empfängt eine HL7-Nachricht, wandelt es in ein benutzerdefiniertes XML um und sendet ihn an Kanal 2. Kanal 2 - empfängt einen XML-Senden an einen HTTP-Hörer. Dies funktioniert mit einer XML-Antwortbestätigung vom HTTP-Hörer. Die Antwort befindet sich in einem XML-Format.

generasacodicetagpre.

Ich kann es bis zur sendenden Anwendung verarbeiten. Bis ich "persistente Warteschlangen" einschalte. Sobald dies eingeschaltet ist, wird die Antwort immer vom Ziellinos in der Warteschlange. Die Verwendung der Sende-Antwort, um nicht zu funktionieren, da die Antwort im XML-Format ist.

Ich habe diese Kanäle in Mirth 3.0 verschoben, um den Antworttransformator zu verwenden.

Im Antworttransformator habe ich den folgenden Code:

generasacodicetagpre.

im Quellverbinder unter "Antworteinstellungen-> Antwort", ich habe "ack" ausgewählt

Ich kann den Nachrichteninhalt des Antwortobjekts in den Protokollen sehen. Die Antwort macht es jedoch nicht zum Kanal 1 (test_adt_hl7_to_xml).

wenn ich mich bewerbe:

generasacodicetagpre.

Im "Postprozessorskript" bekomme ich eine Antwort. Ich kann jedoch nicht auf das Antwortobjekt ("ACK") zugreifen, das der "Antworttransformator" erstellt hat.

Ich habe jedes 'Antwort' Thread in diesem Forum gelesen. Versucht Mirth Version 2.x und jetzt Version 3. Aber ich bekomme keine näher an eine Lösung.

Wie kann ich das Antwortobjekt richtig verarbeiten, damit der Kanal 1 die XML-Antwort empfängt?

Viele vielen Dank im Voraus für Ihre Hilfe.

War es hilfreich?

Lösung 2

meine Lösung mit fröhlich v3.01: Auf dem Quellkanal-Transformator (test_adt_hl7_to_xml):

generasacodicetagpre.

auf dem Antwort-Endkanal-Antwort-Transformator (test_xml_sender) - Aktualisieren Sie das Antwort-Flag.

generasacodicetagpre.

auf dem Antwort-Endkanal-Post-Prozessor (test_xml_sender) - Stellen Sie die Antworteinstellung auf "Postprozessor" ein. Schreiben Sie eine While-Schleife.(Verwenden Sie einen TIMEOOUT, wenn Sie möchten, nicht für immer warten)

generasacodicetagpre.

Andere Tipps

Antwort von: "Narupley" Mirth Angestellter

Wenn Ihr Ziel Warteschlangen aktiviert ist, ist es nicht sinnvoll, von diesem Ziel zu reagieren (oder von einer benutzerdefinierten Variablen, die vom Antwortstransformator des Ziels erstellt wurde).Der gesamte Ziel der Zielwarteschlange besteht darin, eine Empfangsnachricht in eine Warteschlange abzutreten und weiterzumachen.Es würde nichts zu antworten, von dem Ihr Ziel noch nicht einmal die Nachricht gesendet hat.

Es gibt einige hackige Wege, aber Sie sollten stattdessen Ihren Nachrichten- / Kanal-Workflow überdenken.Im Allgemeinen erfolgt dies, indem der Punkt der Warteschlange in der Kette höher ist.Wenn also Kanal 1 an Kanal 2 sendet, der an ein ausgehendes System sendet, und Kanal 1 sollte die Antwort vom ausgehenden System empfangen, dann sollte Kanal 1 derjenige sein, der mit der Zielwarteschlange aktiviert ist, nicht ankanal 2. Natürlich bedeutet dies, dass dasDas Ursprungssystem, das an Kanal 1 an erster Stelle gesendet wurde, kann diese Antwort nicht erhalten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top