The request channel timed out while waiting for a reply

Posted: 12/31/2012

“The request channel timed out while waiting for a reply after 00:00:59.9687494. Increase the timeout value passed to the call to Request or increase the SendTimeout value on the Binding. The time allotted to this operation may have been a portion of a longer timeout.”

I received the above timeout while calling a SOAP web service from a local test application I had created. Most of the answers on the web talk about changing the web.config file looking for the “sendTimeout” is the httpBindings section. In the case of a local application like mine, the settings are found in the “app.config” file. Below is an extraction example of the system.serviceModel section of my app.config.

Please note, this was just a test application I created. I do not have authentication setup for the purposes of this example. If you are receiving the “TimeoutException was unhandled” while executing your method then you will probably be interested in the “sendTimeout” property in the binding tag (my case was not asynchronous which why I assume I tripped the sendTimeout and not the receiveTimeout).

    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="ReportHandlerSoap" closeTimeout="00:01:00" openTimeout="00:01:00"
                    receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
                    bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                    messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                    useDefaultWebProxy="true">
                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    <security mode="None">
                        <transport clientCredentialType="None" proxyCredentialType="None"
                            realm="" />
                        <message clientCredentialType="UserName" algorithmSuite="Default" />
                    </security>
                </binding>
            </basicHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://localhost:61228/WebServices/ReportHandler.asmx"
                binding="basicHttpBinding" bindingConfiguration="ReportHandlerSoap"
                contract="ReportHandler.ReportHandlerSoap" name="ReportHandlerSoap" />
        </client>
    </system.serviceModel>