我们有一个BizTalk应用程序,它使用Web服务将XML文件发送到外部应用程序。
BizTalk通过将XML文件和目标应用程序URL作为参数传递来调用Web服务方法。
如果外部应用程序无法接收XML,或者没有从Web服务收到回复到BizTalk的响应,则消息将在BizTalk中暂停。
目前,对于这种情况,我们手动转到BizTalk管理员并恢复每个暂停的消息。
我们的客户希望此流程全部自动化,他们需要一个显示消息详细信息列表的仪表板和一个按钮,在其点击时,所有已暂停的消息都必须恢复。
答案 0 :(得分:1)
如果您在业务流程中执行此操作并捕获连接错误,只需添加配置为5小时的延迟形状。或者,如果有意义,请将重试间隔设置为300分钟,并在发送端口上重试多次。您也可以使用规则引擎执行此操作。
答案 1 :(得分:1)
为什么不实现异步模式?
您这样做,以便业务流程在初始化某个相关集时通过发送形状发送文件。
然后在一端放置listen形状:
- 接收(在初始化的相关集之后)
- 延迟形状设置为5小时。
当您收到消息时,您的业务流程可以优雅地处理它 如果不这样做,延迟形状将会启动并相应处理。
与40Alpha的解决方案相比,此解决方案的好处是,如果超时在收到响应时触发,则您的业务流程只会从脱水状态“唤醒”。在40Alpha的例子中,业务流程会唤醒很多次,消耗额外的资源。
答案 2 :(得分:0)
您可能希望查看BizTalk 360之类的产品。它内置了那种监视和命令。我不确定它是否适用于BizTalk 2006R2,但是你应该考虑离开那个平台,因为它已经不再支持Microsoft了。