Thursday, August 20, 2009

'content type text/xml; charset=utf-8 was not supported by service ' error

i started getting this error after binding BasicHttpBinding manually. problem is normal WCF calls r using WSHttpBinding. till you change this, it won't solve the problem

System.ServiceModel.WSHttpBinding binding = new WSHttpBinding();

binding.Name = "Test";
binding.CloseTimeout = TimeSpan.Parse("00:01:00");
binding.OpenTimeout = TimeSpan.Parse("00:01:00");
binding.ReceiveTimeout = TimeSpan.Parse("00:10:00");
binding.SendTimeout = TimeSpan.Parse("00:10:00");
binding.BypassProxyOnLocal = false;
binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
binding.MaxBufferPoolSize = int.MaxValue;
binding.MaxReceivedMessageSize = int.MaxValue;
binding.MessageEncoding = WSMessageEncoding.Text;
binding.TextEncoding = Encoding.UTF8;
binding.UseDefaultWebProxy = true;
binding.AllowCookies = false;

binding.ReaderQuotas.MaxDepth = int.MaxValue;
binding.ReaderQuotas.MaxStringContentLength = int.MaxValue;
binding.ReaderQuotas.MaxArrayLength = int.MaxValue;
binding.ReaderQuotas.MaxBytesPerRead = int.MaxValue;
binding.ReaderQuotas.MaxNameTableCharCount = int.MaxValue;

return new TranscriptServiceClient(binding, new EndpointAddress(new Uri("http://localhost:10780/TranscriptService.svc")));