Mirthは、すべてのスクリプトの後に処理される確認応答を格納するために、responseMapを使用します。したがって、メッセージが受信されたときに何かを置くと、このAckは新しいAckでオーバーライドされ、最後に同じマップに配置されます。後者だけが送られます。あなたはすでに経験したことがあります。
私が正しい場合、達成しようとしているのは、まずメッセージがリモートロケーションで受信されたことを確認することです(システムBとしましょう)。そして、メッセージが正常に処理されたことを確認します。クライアント(システムA)がシステムBの2つのエンドポイントにメッセージを送信できる場合、システムB側で2つの受信チャネルを作成することができます。もう一方のチャネルはメッセージを処理し、ポストプロセッサでACKを送信します。
システムB側では、受信メッセージをAckを形成する別のチャネルにリダイレクトしてシステムAに戻すオプションがありますが、システムAにはその側にリスナーが必要です。は、Ackをすぐに送信する受信チャネルを持っている可能性があります。宛先に接続されている別のチャネルにメッセージをルーティングし、着信メッセージがそのチャネルに伝播しないようにします。第2のチャネルはメッセージを処理し、Ackを第1のチャネルに送り返す。最初のチャンネルはAckをシステムAに返信します(私はこのような設定をテストしていないので、これは単なる応答マップを克服するためのアイデアです)。
ありがとうございました。正しいトラック。 これはうまくいきました。私は、同じIP /ポートと同じ接続で、メッセージの受信を確認するポート5000を聞く "ディスパッチャ"チャンネルを持っていて、MLLPを使って2番目のチャンネルにメッセージを転送します同じ誕生日であるがポート5001にある)。 この2番目のチャネルは、HL7メッセージを詳述し、アプリケーションからのACK(アプリケーションACK)を待ち、この2番目のACKの結果を別のIP /ポート(HIS管理者によって私に与えられたもの) 。 –