We are using the service bus relay to connect our shiny new web application with our customer's on premise installations of our legacy product. Some of the calls might take a long time to complete (calculations lasting a couple of minutes) however these long operations give the following exception:
Type: System.ServiceModel.FaultException, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Message: 50400: Gateway Timeout.TrackingId:2fd3b03a-7562-4aa3-9ed6-e685cdc1cd99_G10,TimeStamp:8/7/2014 1:40:35 PM
Call stack (upto the first line of our own code):
System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
Vbi.Erbis.Relay.Interfaces.IErbisRelay.ExecuteMethod(String userName, String password, String className, String operationName, Object[]& parameters)
Other info:
To be sure it was the service bus relay giving us problems we have set WCF binding timeouts to 1 hour (Send, Receive, Open, Close). We are using the BasicHttpRelayBinding (and won't be able to use the NetTcpRelayBinding due to firewall restrictions at some of our clients).
How can I set this timeout to a higher value?