Extension de la solution pour capturer et réparer les messages
Le didacticiel de bout en bout MT103 de cette aide vous montre comment construire une orchestration BizTalk qui s’abonne aux messages SWIFT ayant échoué.
L’orchestration dans le didacticiel de bout en bout MT103 utilise les méthodes statiques d’une classe d’assistance, ErrorExtractor, pour extraire la partie et le corps de l’erreur du message sous forme de chaînes. L’orchestration écrit ensuite les parties dans des fichiers distincts.
Étant donné que la partie d’erreur du message d’échec est une sérialisation de errorCollection construite par le composant de pipeline, vous pouvez désérialiser la collection et l’utiliser pour automatiser davantage de rapports et de gestion des erreurs. Le fragment de code Microsoft Visual C# suivant illustre comment désérialiser la partie du message d’erreur d’un message ayant échoué et comment itérer sur les erreurs d’analyse dans la collection. Le fragment de code omet les qualifications d’espace de noms pour la lisibilité :
// 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 inclut des méthodes permettant d’itérer sur les erreurs par type, ainsi que d’itérer sur toutes les erreurs de la collection. Pour plus d’informations sur ErrorCollection, consultez Membres ErrorCollection.