BizTalk中的僵尸

0 biztalk biztalk2006r2

我有一个完美的BizTalk 2006 R2应用程序.它接收消息,处理消息并发送正确的响应.

但是尽管一切都是正确的(业务流程成功获取消息并且响应发送没有错误),BizTalk仍会生成与响应消息相关的"消息未消耗"错误...

我已经调试了应用程序的每一点,没有错误,没有重复的消息,没有留下任何消息,没有...我搜索了错误,我在这个主题上发现的绝大多数链接都与僵尸有关清理脚本.这让我想知道这不是BizTalk中的常见问题...

有没有人知道可能导致此错误的原因?

rya*_*our 5

是的......这是一个常见的问题,大多数时候可以通过稍微改变解决方案的组合来克服这个问题.

僵尸通常在使用相关和超时时发生,但不是唯一的时间.业务流程脱水等待对相关集的响应或超时,如果发生超时,则编排继续处理通过等待相关响应的接收位置.现在消息框获得响应,但不再有任何东西等待响应.因此你的错误.

我在调用Web服务并等待响应时也看到过这种行为; 但这与我处理错误的方式有关.对我的流程进行了一些小改动解决了这个问题

最小化此问题发生的方法是缩短编排在超时后所做的工作量.让Zombies的窗口尽可能小.

有时候不可能避免这种非确定性的终止问题,所以我发现自己构建了一个"ZombieHandler"进程,它接收这些消息并在其自身后进行清理.

如果您可以发布有关您的流程的更多信息,我们可以尝试提供更多帮助.