Being a user of WCF, I'm sorry to say, it's terrible. Don't ever make the mistake of thinking WCF is fit for production.
This goes for pretty much the whole C#/.NET ecosystem. The Microsoft tools are severely lacking in good design principles and the open source tools are amazing and life changing but don't have the mindshare to be revolutionary. This is mostly just a fact of Microsoft being unfit for open source workflows.
Instead of WCF, try ServiceStack (or SignalR if it makes sense). Instead of ASP.NET MVC, try NancyFx or FubuMVC.
Oh I completely agree with you and were moving to java slowly. All in saying is that WCF is about the most mature thing that shifts SOAP on windows which is the backend of most of our integrations unfortunately (they are corporates mainly).
The entirery of the centralized European visa, asylum and police systems runs on WCF and C#. These systems are used constantly every day by a large part, if not the majority of European embassies, consulates, immigration ministries, foreign ministries and police departments. Not ready for production?
That something is used in production does not mean it is fit for production.
Do you have any sources that confirm that this system is in fact reliable?
That all of Europes police departments, foreign ministries and embassies use this for international communication puts it at the scale of a smallish web application.
The people that use these systems come from a system where data like this is requested by telephone and supplied per fax. If WCF were slow and unreliable they'd probably still take it for granted, everything beating the old way of doing stuff.
If these systems were not reliable the 500 million tourists visiting the EU last year would not have been able to get a visa or not be able to pass border control points. That's just the visa specific parts, so yeah you could say it's somewhat reliable.
The users being used to telephone and fax being the reason they are okay with WCF? Maybe in the 80's, but it's been a while since then.
We are talking 10 mill+ daily transactions as a low brow estimate. A transaction in this case being a bit more complex than the page viewing of a cat picture. These are systems with dev and maintenance teams of hundreds and hundreds of deveLopers globally, working for 5-10 years. To refer to this as the scale of a smallish web app, well...
The reason for my stern words is that there are crashing bugs that have caused us a lot of headaches. For one, if something goes wrong during serialization/deserization, the response crashes and no status code or error message is returned. So aside from the trademark Microsoft unintelligible design, you also have to deal with crashing bugs that won't be fixed for years, if ever.