我正在尝试创建一个BizTalk解决方案,该解决方案在两个不同的区域中使用两个Relay命名空间来实现高可用性。我有一个具有两个接收位置且配置相同的接收端口,但URI(和SAS密钥)的区别仅在于名称空间不同。我想对每个中继使用相同的中继名称,因为该名称在我的解决方案中具有业务领域的意义。
URI的形式:
https://[my-solution]-relay-uksouth.servicebus.windows.net/[my entity]
https://[my-solution]-relay-ukwest.servicebus.windows.net/[my entity]
当我开始第二个位置时,它会停止并记录一条错误消息:
消息传递引擎无法添加接收位置“ [接收 位置名称]”,网址为“ https://[my-solution]-relay-ukwest.servicebus.windows.net/[my 实体]”添加到适配器“ WCF-BasicHttpRelay”。原因: “ System.InvalidOperationException:ChannelDispatcher位于 'sb:// [my-solution] -relay-ukwest.servicebus.windows.net/ [我的实体]',带有合同 '“ ITwoWayAsyncVoid”'无法打开其IChannelListener。 -> System.InvalidOperationException:一个注册已经存在 Uri'sb:// [my-solution] -relay-ukwest.servicebus.windows.net/ [我的实体]'。
我该怎么做才能使BizTalk接受此要求?我看不出有什么理由不能奏效。我考虑了WCF服务的局限性,即不允许使用相同的基地址和协议承载多个服务-但是基地址不同,因此我认为不应声称这是问题所在。
我正在使用BizTalk Server 2016。
答案 0 :(得分:0)
错误是正确的。所有URI都指向ukwest。
消息传递引擎无法将URL为“ https://[my-solution]-relay- ukwest .servicebus.windows.net / [我的实体]”的接收位置“ [接收位置名称]”添加到适配器“ WCF-BasicHttpRelay”。原因:“ System.InvalidOperationException:合同为'sb:// [my-solution] -relay- ukwest .servicebus.windows.net / [我的实体]'处的ChannelDispatcher” ITwoWayAsyncVoid“'无法打开其IChannelListener。---> System.InvalidOperationException:Uri的sb:// [my-solution] -relay- ukwest .servicebus.windows已存在注册。 net / [我的实体]”。