最近、配信通知に関する非常に奇妙な問題に遭遇しました。シナリオは次のとおりです。
配信通知 = Transmitted で構成された一方向の送信ポートにメッセージを送信するオーケストレーションがあります (ところで、送信ポートは FTP アダプターを使用しますが、アダプターが何であるかは関係ないと思います)。
メッセージング エラーが発生すると、エラーはオーケストレーションによってトラップされ (したがって、配信通知メカニズムが期待どおりに機能したことを意味します)、ログが記録されてから、プログラムによって終了します (Terminate シェイプ)。メッセージング インスタンスは引き続き存在し、一時停止され、再開可能です。
メッセージング エラーの原因となった問題を解決した後、中断されたメッセージング インスタンスを再開します。
この時点で、2 つの非常に疑わしいメッセージング インスタンスを取得します。ACK のルーティング エラーと、メッセージング インスタンスがまだアクティブです (しかし、何もしていません...)。ルーティング エラー インスタンスは、アクティブなメッセージング インスタンスに関連する配信通知であると確信しています。これらのインスタンスは同じ CorrelationToken を持っているからです。もう 1 つ詳細: アクティブなインスタンスを終了すると、インスタンスは中断され (再開できなくなります)、エラー メッセージには、すべてのメッセージを消費することなくインスタンスが完了したことが示されます。
最後になりましたが、この問題は特定の環境でのみ発生します...
更新: BizTalk 2006 R2 SP1 を実行する BizTalk ボックスで問題が発生するようです。SP1 なしで BizTalk 2006 R2 を実行するボックスでは発生しませんでした。私はこれをできるだけ早く確認しようとします
更新 2 : 前回の更新では正しかったようです: SP1 CU1 のインストール後に問題が発生します...次のステップ: 次の CU のいずれかで問題が修正されるかどうかを確認します。