Welcome to EMC Consulting Blogs Sign in | Join | Help

Merrick Chaffer's Blog

WCF Error: Large amounts of data from client gives error: The remote server returned an unexpected response: (400) Bad Request

The remote server returned an unexpected response: (400) Bad Request.

Server stack trace:

   at System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory factory, WebException responseException)

   at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)

   at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)

   at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)

   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)

   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)

   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)

   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

If you get the above error when trying to send large amounts of data from a client application to a WCF service then the following changes should be made on both the client and server application configuration files.

Client has this...

<binding name="MyServiceEndPoint" closeTimeout="00:01:00"

      openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"

      allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"

      maxBufferSize="500000000" maxBufferPoolSize="524288" maxReceivedMessageSize="500000000"

      messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"

      useDefaultWebProxy="true">

      <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647"

        maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />

      <security mode="None">

        <transport clientCredentialType="None" proxyCredentialType="None"

          realm="" />

        <message clientCredentialType="UserName" algorithmSuite="Default" />

      </security>

    </binding>

 

and

 

<endpoint address="http://localhost/MyService.Service.Host/MyService.svc"

    binding="basicHttpBinding" bindingConfiguration="MyServiceEndPoint"

    contract="MyService.ServiceProxy.MyServiceProxy.MyServiceContract"

    behaviorConfiguration="maxItemsInObjectGraphBehaviour"

    name="MyServiceEndPoint" />

 

and

 

<behaviors>

  <endpointBehaviors>

    <behavior name="maxItemsInObjectGraphBehaviour">

      <dataContractSerializer maxItemsInObjectGraph="2147483646" />

    </behavior>

  </endpointBehaviors>

</behaviors>

 

 

Server has this...

 

<bindings>

   <basicHttpBinding>

    <binding name="LargeMessageBinding" maxBufferSize="2147483647"

     maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">

     <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"

      maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />

    </binding>

   </basicHttpBinding>

  </bindings>

 

and

 

<service behaviorConfiguration="MyService.ServiceImplementation.MyService_Behavior"

    name="MyService.ServiceImplementation.MyService">

    <endpoint address="" binding="basicHttpBinding" bindingConfiguration="LargeMessageBinding" name="MyServiceEndPoint"

     bindingNamespace="http://mynamespace.com"

     contract="MyService.ServiceContracts.IMyServiceContract" />

    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />

   </service>

 

 

Published 02 July 2009 09:40 by merrick.chaffer

Comments

No Comments
Anonymous comments are disabled

This Blog

Syndication

News

Powered by Community Server (Personal Edition), by Telligent Systems