I am trying to create a BizTalk solution that uses two Relay namespaces in two different regions for high availability. I have a receive port with two receive locations with identical configuration except for the URI (and the SAS key) where they differ by the namespace only. I would like to use the same relay name for each, because this name has business domain significance in my solution.
The URIs are of the form:
https://[my-solution]-relay-uksouth.servicebus.windows.net/[my entity]
https://[my-solution]-relay-ukwest.servicebus.windows.net/[my entity]
When I start the second location, it stops and logs an error message:
The Messaging Engine failed to add a receive location "[receive location name]" with URL "https://[my-solution]-relay-ukwest.servicebus.windows.net/[my entity]" to the adapter "WCF-BasicHttpRelay". Reason: "System.InvalidOperationException: The ChannelDispatcher at 'sb://[my-solution]-relay-ukwest.servicebus.windows.net/[my entity]' with contract(s) '"ITwoWayAsyncVoid"' is unable to open its IChannelListener. ---> System.InvalidOperationException: A registration already exists for Uri 'sb://[my-solution]-relay-ukwest.servicebus.windows.net/[my entity]'.
What do I have to do to make BizTalk accept this? I can't see any reason why this would not just work. I have considered the limitation of WCF services that it is not allowed to host more than one service with the same base address and protocol - but the base addresses are different, so I don't think it should be claiming that this is the problem.
I am using BizTalk Server 2016.