I am totally stumped with this issue I am having at the moment.I have been reading various articles and blogs for the last 2 days and made most of the recommended changes but im still having this issue. Basically I am passing an array object
as a parameter from the client to the service,which then gives me the above error. I can process 200 records ok, but if I set it at 250 for example, it returns the 400 error. I have enabled tracing etc but nothing is being logged at all when it errors out.
Both the client and service are running on the same environment (testing purposes) -windows 2008r2 I will show both config files and also how Im calling the service..any help is much appreciated!

As it was suggested, the issue here may be the size of the response that is being returned back (250 records may be too large). You'll likely want these values to match on in the webServer area of your tag and consider adjusting the actual allowed
length of the response as well :

Probably not my best suggestion ever, but as this appears to be a pain in the a$$:

I'd like to exclude the fact the error is at the client binding side (the ValidateRequestReplyResponse is a little dubious) or in the response of the answer from the server itself. Can you alter your service to make it NOT return any value (void), and make
the operationcontract for the method OneWay (http://msdn.microsoft.com/en-us/library/ms733035.aspx)

Recompile & redeploy, then please post us the error (if any)

400CWCFnet

Please remember to click "Mark as Answer" on this post if it helped you

Thanks for your suggestion, I tried the above and i still get the same error message with the same exception details... is this pointing to the client config being the issue? (note that i have several other methods in my wcf which i havent made one-way -
I dont think that would be an issue though as I can do multiple configurations and im NOT calling any of the other methods during my testing)

Yes,I have got try catch in there, the method call is not even reached because what I did was startup the service through vs debug mode, added debug break points in it, changed the client config and tried to see where it might be going wrong but the break
points/method never got hit/called.

It was because there was a ‘name’ value in the binding,. Therefore the custom values we were setting weren’t being applied and it was loading the server defaults (not even sure where the ‘defaults’ for the different bindings are kept!) I found this out
by an article I read online and making a new service using basic binding only..which kept failing,until I removed the name then it started working! Then I had to figure out how to do it for wsHttpBinding because with that binding, if you don’t specify the
name (and then obviously you cant reference the configuration) you get all sorts or security issues etc and the service doesn’t work..so the solution was to add another binding without the name property in it.

The settings were only needed on the server side in the end,because i left the default client values (lower than the ones in the example above) and it still worked. Below is the full web.config..note how i had to default for both basicHttpbinding and wsHttpbinding