Abonnement à et extraction des messages
L’orchestration peut contenir du code auquel s’abonner et extraire des messages d’un message d’erreur ESB. Par exemple, le code suivant utilise les méthodes GetMessage et GetException pour extraire deux messages fortement typés et l’objet System.Exception d’un message d’erreur 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);
Pour extraire des messages sans type, le code suivant utilise la méthode GetMessages pour extraire tous les messages, puis les itérer.
Microsoft.Practices.ESB.ExceptionHandling.MessageCollection msgs;
msgs = Microsoft.Practices.ESB.ExceptionHandling.ExceptionMgmt.GetMessages(faultMsg);
System.Xml.XmlDocument tmpMsg;
while (msgs.MoveNext())
{
tmpMsg = msgs.Current;
}