Suscripción y extracción de mensajes
La orquestación puede contener código para suscribirse y extraer mensajes de un mensaje de error de ESB. Por ejemplo, el código siguiente usa los métodos GetMessage y GetException para extraer dos mensajes fuertemente tipados y el objeto System.Exception de un mensaje de error de ESB.
// Retrieve two messages from the fault message.
requestMsg = Microsoft.Practices.ESB.ExceptionHandling.ExceptionMgmt.GetMessage(
faultMsg, "ApprovedRequest");
deniedMsg = Microsoft.Practices.ESB.ExceptionHandling.ExceptionMgmt.GetMessage(
faultMsg, "DeniedRequest");
// Retrieve the System.Exception object.
newExc = Microsoft.Practices.ESB.ExceptionHandling.ExceptionMgmt.GetException(
faultMsg);
Para extraer mensajes sin tipo, el código siguiente usa el método GetMessages para extraer todos los mensajes y, a continuación, recorrerlos en iteración.
Microsoft.Practices.ESB.ExceptionHandling.MessageCollection msgs;
msgs = Microsoft.Practices.ESB.ExceptionHandling.ExceptionMgmt.GetMessages(faultMsg);
System.Xml.XmlDocument tmpMsg;
while (msgs.MoveNext())
{
tmpMsg = msgs.Current;
}