We have a WCF service deployed as azure web app. We are facing issues when any of the operation\method of this service takes more than 4 mins.
WCF client which calls above wcf service runs into "The web server failed to respond within the specified time." when any of the service method calls takes more than 4 mins. We could write a sample service method which waits for 4 mins and client threw "500 - The web server failed to respond within the specified time" exception when this service method was called.
We are blocked with this issue. We tried tuning our wcf throttling, timeouts etc but nothing helped.
Is there a configuration setting or web server setting which we can increase to get around this issue? We tried setting SCM_COMMAND_IDLE_TIMEOUT in the web app application side but that did not help either.
Note: We expect our service to take more than 5 mins in some cases and it has to be a synchronous call.
Complete exception on client side(from svc logs):
<traceidentifier>http://msdn.microsoft.com/en-U... bad HTTP response</description><appdomain>/LM/W3SVC/948811830/ROOT-4-131212695605318127</appdomain><exception><exceptiontype>System.ServiceModel.ProtocolException, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</exceptiontype><message>An HTTP Content-Type header is required for SOAP messaging and none was found.</message><stacktrace> at System.ServiceModel.Channels.HttpChannelUtilities.TraceResponseException(Exception exception)
at System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory`1 factory, WebException responseException, ChannelBinding channelBinding)
at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
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)