1

我有一个公开 Web 服务的编排,它检查接收到的消息的来源,并在此基础上执行一些分支逻辑,并调用一组“服务”编排中的一个(位于不同的应用程序中)。这些服务编排对我的消息执行一些更新,然后在完成时将其发送回路由编排。然后,路由应用程序会发送适当的 Web 服务响应。即端到端过程都是同步的。

我的意图是在我的“路由”编排上有一个直接绑定的发送/接收端口,并在“服务”编排上有一个链接的接收/发送端口来实现阻塞,但是我在完成这项工作时遇到了麻烦。

我尝试使用相关性和过滤器表达式,但是当服务编排尝试发回其响应时,我一直看到“多个订阅者错误”。

我确保没有其他编排/端口正在使用我的架构(可以肯定地创建一个全新的架构)。

把我的头发扯了一点,这似乎是一件相对容易完成的事情。

(ps 我倾向于让服务编排公开一个 Web 服务并调用它,但对于总是驻留在同一台机器上的东西来说似乎还有很长的路要走)。

4

1 回答 1

1

确保 biztalk 将消息视为“不同”以便不会发生此类问题的一种常见方法是使用仅上下文属性,该属性在前后设置为不同的值,然后使用相关性和过滤器表达式确保消息一次只匹配来自特定位置的消息的特定实例。

这样,即使消息类型相同,订阅也不会真正具有相同的谓词。

于 2010-11-12T13:19:55.757 回答