エラー処理
メッセージが BizTalk Server のメッセージング サブシステムを通過するときの経路には、処理および転送の拠点がいくつか存在します。 この経路上のいずれかの場所で障害が発生することも考えられます。障害は、BizTalk Server インフラストラクチャ内だけでなく、アプリケーション側で実装された要素 (カスタム パイプライン コンポーネントやオーケストレーションなど) 内で発生することもあります。
ここでは、使用頻度の高い処理ステージで起こる一般的な障害処理について説明し、さらに、BizTalk Server 環境やアプリケーション側で実装された要素 (オーケストレーションなど) において、これらの障害をどのように処理するかについても取り上げています。 障害に対する備えとしては、障害発生時のメッセージの扱い、診断情報やログの記録、運用上の注意事項などが含まれます。
メッセージがエラーになったときに発生するイベントは、エラーが発生した場所、およびエラーになったメッセージのルーティングと回復可能なインターチェンジ処理の状態に依存します。 次の表は、パイプライン エラーとサブスクリプション エラーのエラー時の動作と再開場所をまとめたものです。
失敗の種類 | エラーになったメッセージのルーティング | 回復可能なインターチェンジ処理 | エラー時の動作 | 再開場所 |
---|---|---|---|---|
パイプライン | 無効 | 無効 | パイプラインの前でメッセージが中断されます。 | パイプラインの前。 |
パイプライン | 無効 | Enabled | パイプラインの後でメッセージが中断されます。 | パイプラインの前。 回復可能なインターチェンジ処理の詳細については、「 回復可能なインターチェンジ処理」を参照してください。 |
パイプライン | Enabled | 無効 | メッセージは、エラー報告に関連するメッセージ コンテキストの、昇格させたプロパティと共に公開されます。 | メッセージは中断されません。 失敗したメッセージのルーティングの詳細については、「 失敗したメッセージ ルーティングの使用」を参照してください。 |
パイプライン | Enabled | Enabled | メッセージは、エラー レポート関連のメッセージ コンテキスト プロパティが昇格された状態で発行されます。 | メッセージは中断されません。 |
サブスクリプション | 無効 | 無効 | パイプラインの前にメッセージが中断されます。 ルーティング エラー報告が作成されます。 | メッセージはパイプラインの前で再開されます。 ルーティング エラー報告は再開できません。 |
サブスクリプション | 無効 | Enabled | パイプラインの後にメッセージが中断されます。 ルーティング エラー報告が作成されます。 | メッセージはパイプラインの前で再開されます。 ルーティング エラー報告は再開できません。 回復可能なインターチェンジ処理の詳細については、「 回復可能なインターチェンジ処理」を参照してください。 |
サブスクリプション | Enabled | 無効 | メッセージは、エラー レポート関連のメッセージ コンテキスト プロパティが昇格された状態で発行されます。 ルーティング エラー報告が作成されます。 | メッセージは中断されません。 ルーティング エラー報告は再開できません。 失敗したメッセージのルーティングの詳細については、「 失敗したメッセージ ルーティングの使用」を参照してください。 |
サブスクリプション | Enabled | Enabled | メッセージは、エラー レポート関連のメッセージ コンテキスト プロパティが昇格された状態で発行されます。 ルーティング エラー報告が作成されます。 | メッセージは中断されません。 ルーティング エラー報告は再開できません。 |
取り上げられている障害処理の多くは、復旧可能な交換処理やエラー レポートなど、それを解決するために設計された、BizTalk Server の特定の機能と対応しています。 また、障害処理は BizTalk Server がアプリケーション要素に対して障害情報をどのように伝達するか、逆に、カスタム パイプライン コンポーネントやアダプター、オーケストレーションなどのアプリケーション要素が障害情報をどのように BizTalk Server に伝達するかという点にも関係しています。