我们有一个存储过程,可以将状态记录到我们的数据库中。对于现有应用程序,用户决定将状态写入不同的服务器。
现在我收到以下错误:
The message found multiple request response subscriptions. A message can only be routed to a single request response subscription.
我相信尽管业务流程绑定指定了使用哪个端口,但BizTalk也在寻找旧的发送端口定义。
业务流程绑定如何工作?有什么想法让它感到困惑吗?
(原始发送端口由其他应用程序使用,因此我无法删除或编辑它)
答案 0 :(得分:1)
似乎旧的端口仍然已登记(可能只是stopped),或者您可能需要重新启动BizTalk
个主机。
答案 1 :(得分:1)
将Orchestration绑定到端口时,Orchestration发布的该端口的任何消息都将具有SPTransportID的Context属性设置为端口的GUID。将过滤器添加到端口时,会将其添加为OR。您可以通过转到“新建查询”,“搜索订阅”和查找相关端口来查看此信息。例如,您将看到像这样的订阅
http: //schemas.microsoft.com/BizTalk/2003/system-properties.SPTransportID == {E1293B10-2763-4600-B795-A0C4B4D5E6EC}
Or
http: //schemas.microsoft.com/BizTalk/2003/system-properties.ReceivePortName == ExamplePort
因此,要解决此问题,需要更新旧端口的过滤器,以便从正在重新指向的业务流程中排除消息。或者如果另一个应用程序Orchestrations绑定到旧端口,那么你可以删除过滤器,它应该可以工作。
答案 2 :(得分:0)
要完成您描述的内容,您无需创建新的发送端口。
只需将现有发送端口的URI更改为指向新数据库。