ASUS Emergency Stop

We cannot determine why Azure BasicHttpRelay throws a random FaultException without any details. We have enabled WCF diagnostic tracing, but the available stack trace information remains the same. It seems that the WCF client channel does not work for a short time, and then returns soon.

We cache the WCF channel (e.g. CreateChannel ), but this is the first time we have encountered this strange behavior. We have other Azure Service Bus relay solutions that work great with this approach.

Error message:

An error occurred while processing the request.

Stack trace:

  at System.ServiceModel.Channels.ServiceChannel.HandleReply (ProxyOperationRuntime operation, ProxyRpc & rpc)
    at System.ServiceModel.Channels.ServiceChannel.Call (String action, Boolean oneway, ProxyOperationRuntime operation, Object [] ins, Object [] outs, TimeSpan timeout)
    at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService (IMethodCallMessage methodCall, ProxyOperationRuntime operation)
    at System.ServiceModel.Channels.ServiceChannelProxy.Invoke (IMessage message)

 Exception rethrown at [0]: 
    at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage (IMessage reqMsg, IMessage retMsg)
    at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke (MessageData & msgData, Int32 type)
    at [our WCF method] ...

FaultException - FaultCode Details:

Name: ServerErrorFault
Namespace: http://schemas.microsoft.com/netservices/2009/05/servicebus/relay
IsPredefinedFault: false
IsReceiverFault: false
IsSenderFault: false

Soap message

 <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Header /> <s:Body> <s:Fault> <faultcode xmlns:a="http://schemas.microsoft.com/netservices/2009/05/servicebus/relay">a:ServerErrorFault</faultcode> <faultstring xml:lang="en-US">There was an error encountered while processing the request.</faultstring> <detail> <ServerErrorFault xmlns="http://schemas.microsoft.com/netservices/2009/05/servicebus/relay" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" /> </detail> </s:Fault> </s:Body> </s:Envelope> 

Through the debugging system, we can see that the server responds correctly to message requests (through IDispatchMessageInspector), but the client does not handle the response accordingly (IClientMessageInspector reports an error). Subsequent relay requests will succeed after the client channel seems to correct itself. These failures seem intermittent, not load-driven. We never see these FaultException errors using basicHttpBinding outside of Azure Relays.

Does anyone have any suggestions? We are using the Azure SDK 1.8 .

I tried setting up a new Service Bus Relay namespace using owner shared secret, but still seeing the same results.

+6
source share
1 answer

After contacting MS, this problem turned out to be an MS error with Relay or SDK, especially when using Http Connectivity Mode . At this point, the only workaround is to provide appropriate outbound TCP ports to ensure reliable communications with Azure Relay.

Allow Outgoing TCP Ports : 9350 - 9354

MS informed us that they are still working on a root cause. Hope this workaround helps others. Our corporate firewall blocked these TCP ports, which forced all communication on port 80, which should cause this problem. It’s positive that opening these ports allows you to connect to the relay faster when your listeners start ( AutoDetect does not need to check TCP ports for availability each time).

+1
source

All Articles