We got a very strange error message when calling an on-prem service using the ServiceBus Relay connected to an Azure Function.
Scenario
The scenario was setup according to the official documentation. The relay can be used as an alternative to the OnPremise Data gateway in scenarios where you don’t need the adapter connectivity. You have a limited subset or can do your own coding if you need something specific.
The error
Executed 'Send' (Failed, Id=GUID_HERE) An attempt was made to access a socket in a way forbidden by its access permissions.
Obviously, there are some security issues.
The search
One of these errors makes you visit Mr Google. He turned up a lot of answers, all related to a local firewall and people having built their own socket services. None of the answers applied to us.
We tried regenerating keys and re-registering the connection but that did not work.
The solution
The service developer had provided us with an IP-address as a host address. When we did a DNS lookup, we found the name of the server. We simply updated the host address in the relay connection, and it worked!
The lesson
When using Azure Relay, don’t use the service IP-address.