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.