C# winform 调用webService 格式化程序尝试对消息反序列化时引发异常: 读取 XML 数据时,超出最大字符串内容长度配额 (8192)。

错误信息:格式化程序尝试对消息反序列化时引发异常: 尝试对参数 http://ws.xzsoft.com 进行反序列化时出错: getWagonResponse。InnerException 消息是“反序列化对象 属于类型 CallWeb.ServiceReference1.getWagonResponseBody 时出现错误。读取 XML 数据时,超出最大字符串内容长度配额 (8192)。通过更改在创建 XML 读取器时所使用的 XmlDictionaryReaderQuotas 对象的 MaxStringContentLength 属性,可增加此配额。 行 1,位置 18355。”。有关详细信息,请参见 InnerException。

 

 

解决方案:  把 <bindings></bindings> 节点的内容(也就是红色字体部分)添加进去,蓝色字体是名称一定要改成自己原来的名称。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
      <bindings>
        <basicHttpBinding>
          <binding name="
ISaveArriveSOAP11Binding" closeTimeout="00:01:00"
              openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
              allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
              maxBufferPoolSize="524288" maxBufferSize="524288" maxReceivedMessageSize="524288"
              textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true"
              messageEncoding="Text">
            <readerQuotas maxDepth="32" maxStringContentLength="8192000" maxArrayLength="16384000"
                maxBytesPerRead="4096000" maxNameTableCharCount="16384000" />
            <security mode="None">
              <transport clientCredentialType="None" proxyCredentialType="None"
                  realm="" />
              <message clientCredentialType="UserName" algorithmSuite="Default" />
            </security>
          </binding>
          <binding name="ISaveSaleRdrecordSOAP11Binding" closeTimeout="00:01:00"
              openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
              allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
              maxBufferPoolSize="524288" maxBufferSize="524288" maxReceivedMessageSize="524288"
              textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true"
              messageEncoding="Text">
            <readerQuotas maxDepth="32" maxStringContentLength="8192000" maxArrayLength="16384000"
                maxBytesPerRead="4096000" maxNameTableCharCount="16384000" />
            <security mode="None">
              <transport clientCredentialType="None" proxyCredentialType="None"
                  realm="" />
              <message clientCredentialType="UserName" algorithmSuite="Default" />
            </security>
          </binding>
          <binding name="WebServiceSoap" closeTimeout="00:01:00"
              openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
              allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
              maxBufferPoolSize="524288" maxBufferSize="524288" maxReceivedMessageSize="524288"
              textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true"
              messageEncoding="Text">
            <readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647"
                maxBytesPerRead="4096000" maxNameTableCharCount="2147483647" />
            <security mode="None">
              <transport clientCredentialType="None" proxyCredentialType="None"
                  realm="" />
              <message clientCredentialType="UserName" algorithmSuite="Default" />
            </security>
          </binding>
        </basicHttpBinding>
      </bindings>

      <client>
            <endpoint address="http://192.168.2.114:8895/WebService.asmx"
                binding="basicHttpBinding" bindingConfiguration="WebServiceSoap"
                contract="K3Service.WebServiceSoap" name="WebServiceSoap" />
        </client>
    </system.serviceModel>
</configuration>

展开阅读全文

没有更多推荐了,返回首页