Biztalk订购交货失败

我们有一个BizTalk应用程序,其中输入的消息的顺序非常重要并且必须保留,这意味着它们必须以相同的顺序输出.通常有序的交付将在这里诀窍.

但是,我读到只有在将接收位置直接连接到发送端口时才能保证有序传送.您使用业务流程的那一刻,订单交付不再保证.有办法解决或解决这个问题吗?因为这种废弃我们的整个应用程序,我们已经在这几个月的工作.

我阅读了Microsoft的一个解决方案,他们使用了一个额外的字段,它有一个计数器,并且他们使用一个检查计数器的结束编排.但这对我们来说太过分了.所以这个工作是不行的.此外,并非所有消息都被翻译,这会在我们的流程中产生漏洞,而且并非所有消息都来自同一来源,无论如何这使得这项工作无效.

还有其他想法吗?

最佳答案 查看
this页面.

它解释了如果您有一个遵循单例模式的业务流程,以确保只存在一个业务流程实例,并确保将业务流程的接收端口设置为有序传递,那么您应该获得有效的端到端有序传递脚本

To provide end-to-end ordered delivery the following conditions must be met:

Messages must be received with an adapter that preserves the order of the messages when submitting them to BizTalk Server. In BizTalk Server 2006, examples of such adapters are MSMQ, MQSeries, and MSMQT. In addition, HTTP or SOAP adapters can be used to submit messages in order, but in that case the HTTP or SOAP client needs to enforce the order by submitting messages one at a time.

You must subscribe to these messages with a send port that has the Ordered Delivery option set to True.

If an orchestration is used to process the messages, only a single instance of the orchestration should be used, the orchestration should be configured to use a sequential convoy, and the Ordered Delivery property of the orchestration’s receive port should be set to True.

点赞