2016-04-28 10 views
0

私は、Mirthが発信者に2 ACKを返すように設定することが何らかの可能性があるかどうかを判断しようとしています。 A)送信が行われたときにMirthから発信者に送信された1 ACK Mirthから受け取った。 B)チャネルがメッセージの処理を完了した後、1発呼側から発呼側にACKが送信されました。Mirth Connect:2 Way ACK

私が知っているのは、処理前(ケースA)または処理後(ケースB)にACKを送信するように設定できますが、両方を送信する方法が見つかりませんでした。 誰もこれを経験したことがありますか? ご協力いただきありがとうございます。

答えて

0

Mirthは、すべてのスクリプトの後に処理される確認応答を格納するために、responseMapを使用します。したがって、メッセージが受信されたときに何かを置くと、このAckは新しいAckでオーバーライドされ、最後に同じマップに配置されます。後者だけが送られます。あなたはすでに経験したことがあります。

私が正しい場合、達成しようとしているのは、まずメッセージがリモートロケーションで受信されたことを確認することです(システムBとしましょう)。そして、メッセージが正常に処理されたことを確認します。クライアント(システムA)がシステムBの2つのエンドポイントにメッセージを送信できる場合、システムB側で2つの受信チャネルを作成することができます。もう一方のチャネルはメッセージを処理し、ポストプロセッサでACKを送信します。

システムB側では、受信メッセージをAckを形成する別のチャネルにリダイレクトしてシステムAに戻すオプションがありますが、システムAにはその側にリスナーが必要です。は、Ackをすぐに送信する受信チャネルを持っている可能性があります。宛先に接続されている別のチャネルにメッセージをルーティングし、着信メッセージがそのチャネルに伝播しないようにします。第2のチャネルはメッセージを処理し、Ackを第1のチャネルに送り返す。最初のチャンネルはAckをシステムAに返信します(私はこのような設定をテストしていないので、これは単なる応答マップを克服するためのアイデアです)。

+0

ありがとうございました。正しいトラック。 これはうまくいきました。私は、同じIP /ポートと同じ接続で、メッセージの受信を確認するポート5000を聞く "ディスパッチャ"チャンネルを持っていて、MLLPを使って2番目のチャンネルにメッセージを転送します同じ誕生日であるがポート5001にある)。 この2番目のチャネルは、HL7メッセージを詳述し、アプリケーションからのACK(アプリケーションACK)を待ち、この2番目のACKの結果を別のIP /ポート(HIS管理者によって私に与えられたもの) 。 –

関連する問題