【问题标题】:Catch EndpointNotFoundException in Biztalk 2010 Orchestration在 Biztalk 2010 编排中捕获 EndpointNotFoundException
【发布时间】:2012-02-18 16:13:40
【问题描述】:

我想在我的编排中处理 EndpointNotFoundException。

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

范围同步 = 假

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

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

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

知道如何在编排中捕获此类异常吗?

【问题讨论】:

  • 你怎么知道 catch 块不起作用?
  • 我正在使用表达式形状在每个 catch 块内的事件查看器中编写自定义错误消息。
  • 那么你怎么知道抛出了什么类型的异常呢?

标签: exception-handling biztalk orchestration


【解决方案1】:

这似乎是一个常见问题 - 例如。 herehere。如果我捕捉到一个基本的System.Exception,我同意你的看法,即被捕捉到的类型是System.ServiceModel.EndpointNotFoundException,内部是System.Net.WebException

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

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

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

【讨论】:

  • 很遗憾,交付通知在请求-响应端口上不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-28
  • 1970-01-01
  • 2015-08-09
  • 2021-05-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多