Ampliación de la solución para la captura y reparación de mensajes
En el Tutorial de un extremo a otro de MT103 de esta Ayuda se muestra cómo construir una orquestación de BizTalk que se suscribe a mensajes SWIFT con errores.
La orquestación del tutorial de un extremo a otro de MT103 usa los métodos estáticos de una clase auxiliar, ErrorExtractor, para extraer la parte de error y el cuerpo del mensaje como cadenas. A continuación, la orquestación escribe los elementos en archivos independientes.
Dado que la parte de error del mensaje con errores es una serialización de ErrorCollection construida por el componente de canalización, puede deserializar la colección y usarla para automatizar más de la generación de informes y el control de errores. El siguiente fragmento de código de Microsoft Visual C# muestra cómo deserializar la parte del mensaje de error de un mensaje con error e iterar por los errores de análisis de la colección. El fragmento de código omite las calificaciones del espacio de nombres para mejorar la legibilidad:
// 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 incluye métodos para iterar los errores por tipo, así como para recorrer en iteración todos los errores de la colección. Para obtener más información sobre ErrorCollection, vea Miembros de ErrorCollection.