延伸 Capture 和 Message Repair 的解決方案
本說明中的 MT103 端對端教學課程說明如何建構訂閱失敗 SWIFT 訊息的 BizTalk 協調流程。
MT103 端對端教學課程中的協調流程會使用 Helper 類別 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 成員。