既定では、受信ポートのマッピング フェーズでインターチェンジ内のメッセージが失敗すると、インターチェンジ全体が中断されます。 この動作は、メッセージ コンテキストに BTS.SuspendMessageOnMappingFailure という名前のプロパティを追加し、そのコンテキスト プロパティの値をパイプライン コンポーネントから True
に設定することで変更できます。 このプロパティを True
に設定すると、エンドポイント マネージャーは、マッピング中に失敗したメッセージを中断されたキューに配置し、インターチェンジ内の残りのメッセージの処理を続行します。
次のコードは、 SuspendMessageOnMappingFailure プロパティの値を True に設定します。
public IBaseMessage Execute(IPipelineContext pc, IBaseMessage inmsg)
{
bool bSuspend = true;
inmsg.Context.Write("SuspendMessageOnMappingFailure", "http://schemas.microsoft.com/BizTalk/2003/system-properties", bSuspend);
…
}