Catch EndPointNotFoundException dans Biztalk 2010 Orchestration
-
14-11-2019 - |
Question
Je voudrais gérer un endpointNotFoundException dans mon orchestration.
J'ajoute un nouveau gestionnaire d'exceptions
Scope synchronisée = false
Exception Type d'objet = System.ServiceModel.endPointNotFoundException (ce type d'objet ne fonctionne pas)
Exception Type d'objet = System.ServiceModel.CommunicationException (ce type d'objet ne fonctionne pas)
Exception Type d'objet = System.SystemException (Ce type d'objet a fonctionné. Ce que je ne veux pas)
Une idée sur la façon de prendre de telles exceptions dans l'orchestration?
La solution
Cela semble être un problème courant - par exemple ici et ici. Je suis d'accord avec toi si j'attrape un base System.Exception
que le type attrapé est System.ServiceModel.EndpointNotFoundException
avec un intérieur System.Net.WebException
.
Bien qu'il ne réponde pas directement à votre question, pourquoi ne pas marquer le port comme Delivery Notification = Transmitted
, puis attrapez le LivracingFailureException?.
De cette façon, vous découplez votre orchestration à partir de l'adaptateur spécifique (WCF), et si vous modifiez votre transport (ou ajoutez un transport de sauvegarde, etc.), la gestion des exceptions fonctionnera toujours.
Edit: Scott Colestock mentionne un pirater pour attraper des exceptions internes - quelque chose de similaire pourrait fonctionner pour l'exigence d'origine