キャプチャおよびメッセージ修復のソリューションの機能拡張
このヘルプの MT103 エンド ツー エンド チュートリアルでは、失敗した SWIFT メッセージをサブスクライブする BizTalk オーケストレーションを構築する方法について説明します。
MT103 エンド ツー エンド チュートリアルのオーケストレーションでは、ヘルパー クラス ErrorExtractor の静的メソッドを使用して、メッセージからエラー部分と本文を文字列として抽出します。 次に、オーケストレーションによって、パーツが個別のファイルに書き込まれます。
失敗したメッセージのエラー部分はパイプライン コンポーネントによって構築された ErrorCollection のシリアル化であるため、コレクションを逆シリアル化し、それを使用してエラーレポートと処理をさらに自動化できます。 次の Microsoft Visual C# コード フラグメントは、失敗したメッセージのエラー メッセージ部分を逆シリアル化し、コレクション内の解析エラーを反復処理する方法を示しています。 コード フラグメントでは、読みやすくするために名前空間の修飾が省略されています。
// instantiate an appropriate XmlTextReader
// xm contains the message
string sError = ErrorExtractor.GetErrorPartAsString(xm);
StringReader sRdr = new StringReader(sError);
XmlTextReader xRdr = new XmlTextReader(sRdr);
// deserialize the collection
ErrorCollection eC = ErrorCollection.GetErrorCollection(xRdr);
// loop over the parsing errors in the collection
IEnumerator pEnum = eC.GetParseErrorEnumerator();
while(pEnum.MoveNext())
{
// pEnum.Current() returns a ParseError object for processing
}
ErrorCollection には、型によってエラーを反復処理するメソッドと、コレクション内のすべてのエラーを反復処理するためのメソッドが含まれています。 ErrorCollection の詳細については、「ErrorCollection メンバー」を参照してください。