Here this kind of exception can happen if your receiveTimeout is not large enough.
Here in your configuration, you are setting
receiveTimeout="05:00:00"
in "binding name="basicHttpBindingSettings" " but you are not associating it with your end point.
Either remove the name attribute from the binding so that basicHttpBinding will use it as default binding configuration. Or add
bindingConfiguration="basicHttpBindingSettings"
to your basicHttpBinding endpoint. Hope this will work.