置百丈玄冰而崩裂,掷须臾池水而漂摇。

C#调用第三方webservices返回格式化报错

C# xqaizx

C#调用第三方webservices返回格式化报错

可能是长度不够导致反序列化错误:

使用web服务时,超出最大字符串内容长度配额 (8192)。通过更改在创建 XML 读取器时所使用的 XmlDictionaryReaderQuotas 对象的 MaxStringContentLen

一、客户端配置

首先找到软件的App.config

找到:  2147483647是修改后的。

        <bindings>

            <basicHttpBinding>

                <binding name="CarDataServiceSoap" closeTimeout="00:01:00" openTimeout="00:01:00"

                    receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"

                    bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"

                    maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"

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

                    useDefaultWebProxy="true">

                  <readerQuotas maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxDepth="2147483647" maxNameTableCharCount="2147483647" maxStringContentLength="2147483647"/>

                  <security mode="None">

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

                            realm="" />

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

                    </security>

                </binding>

            </basicHttpBinding>

        </bindings>

 

二、服务端配置

然后到网站找web.config

在   </system.web>后加如下:

    <system.serviceModel>

        <bindings>

            <basicHttpBinding>

                <binding name="CarDataServiceSoap" closeTimeout="00:01:00" openTimeout="00:01:00"

                    receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"

                    bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"

                    maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"

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

                    useDefaultWebProxy="true">

                    <readerQuotas maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxDepth="2147483647" maxNameTableCharCount="2147483647" maxStringContentLength="2147483647"/>

                    <security mode="None">

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

                            realm="" />

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

                    </security>

                </binding>

            </basicHttpBinding>

        </bindings>

    </system.serviceModel>

————————————————

说明:其中红色为处理部分。

版权声明:本文为CSDN博主「编程幽灵」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/cfyouling/article/details/8296002