【问题标题】:Catching FTP Receive Connection Exceptions in BizTalk在 BizTalk 中捕获 FTP 接收连接异常
【发布时间】:2011-06-15 04:56:57
【问题描述】:

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

但是,可能会发生各种异常,例如:

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

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

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

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

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

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

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

谢谢!

【问题讨论】:

    标签: exception-handling biztalk biztalk-2010


    【解决方案1】:

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

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

    我不确定您的想法是什么?有很多方法可以监控事件日志。

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

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

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

    【讨论】:

    • 好的,所以问题是,假设文件位置无法访问,或者 FTP 适配器失去连接,或者服务器关闭,我希望能够通过电子邮件发送异常,就像我一样可以在发送适配器上发送通知。必须将每个组件重写为自定义组件才能在消息框中获取异常,而不是错误日志上的模糊和非特定(例如,不提及哪个应用程序或端口)异常似乎是不幸的矫枉过正。
    • 我同意,当连接问题导致接收位置失败时,将某种错误信息发布到消息框将是一个不错的功能。但是,除了从 orch 轮询 FTP 内联外,我想不出任何方法在实践中实现这一点。像 SCOM 这样的东西有一个 BizTalk 管理包,它会根据来自 BizTalk 的特定类型的事件日志错误发出警报。
    猜你喜欢
    • 2012-05-20
    • 1970-01-01
    • 2020-07-29
    • 2017-12-06
    • 1970-01-01
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多