1

我有一个连接到 FTP 服务器的 BizTalk 演示。

但是,可能会发生各种例外情况,例如:

  • 服务器可能不可用
  • 用户名/密码可能会更改
  • 由于权限等原因,下载后的文件删除可能无法正常工作。

这些会在错误日志中生成异常。

但是,我看不到任何简单的方法来处理这些异常

  1. 编写自定义 WMI 适配器以轮询错误日志并尝试根据适配器名称匹配异常。
  2. 使用 FTP 适配器的日志功能并解析日志文件以查找 FTP 异常。

Internet 上的解决方案似乎围绕启用“失败的消息路由”或使用 ESB 异常处理程序。但是,我相信这两个都需要实际消息,如果适配器遇到异常并且无法连接,则不会出现这些消息。

我考虑过但认为不可能的一种可能性是在编排中动态地进行“接收”,并在那里捕获异常——这可能吗?

如果没有,有没有办法在收集消息之前捕获接收适配器抛出的异常?

谢谢!

4

1 回答 1

1

BizTalk 将通过引发错误并关闭接收位置来“处理”这些异常情况。这是正常的,我认为非常合理的行为。

在这种情况下,BizTalk 并没有停止工作。将消息接收到接收端口的其他方法将继续有效。

我不知道你有什么样的处理方式?有很多方法可以监控事件日志。

由于异常,您希望发生什么?

在回答您的另一个问题时,您可以通过从编排中调用 .net 组件来“动态地进行接收”。您可以有一个围绕“轮询”FTP 服务器的表达式形状循环的编排。在这种情况下,您当然可以访问常规的异常处理机制。

PS。您是正确的,失败的消息路由依赖于有消息。例如,如果入站消息在管道处理期间失败。

于 2011-06-15T11:57:07.397 回答