I have sometimes seen WCF services that times out. The easiest way to fix it is to increase the timeout value within the config file. Here is an example of this can be done.
Okay, so there are four different timeouts - what do they mean.
SendTimeout – used to initialize the OperationTimeout, which governs the whole process of sending a message, including receiving a reply message for a request/reply service operation. This timeout also applies when sending reply messages from a callback contract method.
OpenTimeout – used when opening channels when no explicit timeout value is specified
CloseTimeout – used when closing channels when no explicit timeout value is specified
ReceiveTimeout – used by the Service Framework Layer to initialize the session-idle timeout which controls how long a session can be idle before timing out.
The above is taken from https://msdn.microsoft.com/en-us/library/hh924831(v=vs.110).aspx