在Biztalk 2010 Orchestration中捕获EndpointNotFoundException

时间:2012-01-25 13:18:32

标签: exception-handling biztalk orchestration

我想在我的业务流程中处理EndpointNotFoundException。

我添加了一个新的异常处理程序

范围synchronized = false

异常对象类型= System.ServiceModel.EndpointNotFoundException(此对象类型不起作用)

异常对象类型= System.ServiceModel.CommunicationException(此对象类型不起作用)

异常对象类型= System.SystemException(此对象类型有效。我不想要这样做)

关于如何在编排中捕获此类异常的任何想法?

1 个答案:

答案 0 :(得分:2)

这似乎是一个常见的问题 - 例如herehere。如果我发现基本的System.Exception被捕获的类型为System.ServiceModel.EndpointNotFoundException且内部为System.Net.WebException,我同意你的意见。

虽然没有直接回答您的问题,但为什么不将端口标记为Delivery Notification = Transmitted,然后抓住DeliveryFailureException?。

这样,您可以将业务流程与特定适配器(WCF)分离,如果更改传输(或添加备份传输等),异常处理仍然有效。

编辑:Scott Colestock提到hack to catch internal exceptions - 类似的东西可能适用于原始要求