已超过传入消息(65536)的最大消息大小配额-DESTLIVE

这个问题常出现在调用WEBSERVICE的时候,造成的原因一般都是传入的字符超过预设的最大常量。

在客户端的webconfig文件的webservice节点进行如下配置:(注:此处客户端为应用程序的config文件)

<system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="DeviceServiceSoap"  maxBufferSize="2147483647"
                    maxReceivedMessageSize="2147483647"/>
            </basicHttpBinding>
            <customBinding>
                <binding name="DeviceServiceSoap12">
                    <textMessageEncoding messageVersion="Soap12" />
                    <httpTransport />
                </binding>
            </customBinding>
        </bindings>
        <client>
            <endpoint address="https://192.168.1.115:8081/DeviceService.asmx"
                binding="basicHttpBinding" bindingConfiguration="DeviceServiceSoap"
                contract="DeviceAgent.DeviceServiceSoap" name="DeviceServiceSoap" />
        </client>
    </system.serviceModel>

一般到这即可解决无法客户端接收数据的问题:若依然无法解决,可尝试下面代码,对服务器webservice的webconfig文件进行如下配置:

<system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
    <bindings>
      <basicHttpBinding>
        <binding name="DBService"
         maxBufferPoolSize="2147483647"
         maxReceivedMessageSize="2147483647"
         maxBufferSize="2147483647">
          <readerQuotas maxArrayLength="2147483647"
                        maxBytesPerRead="2147483647"
                        maxDepth="2147483647"
                        maxNameTableCharCount="2147483647"
                        maxStringContentLength="2147483647"/>
        </binding>
      </basicHttpBinding>
    </bindings>
    <standardEndpoints>
      <webHttpEndpoint>
        <standardEndpoint name="webservice" maxReceivedMessageSize="4194304000"
          helpEnabled="true" automaticFormatSelectionEnabled="true" />
      </webHttpEndpoint>
    </standardEndpoints>
  </system.serviceModel>