我在调用我的WCF服务时遇到异常更大的请求XML对象内容长度65708,它的工作没有任何问题,请求XML文件的内容长度小于此。
这是我们向外部客户端公开的服务,我使用SoapUI调试服务,我得到异常HTTP / 1.1 400错误请求[\ r] [\ n],甚至没有达到调试点。我在网上搜索并应用了提供的配置值,但没有一个帮助我解决问题。
在所有配置更改后,我的web.config文件看起来像这样(只有绑定部分)。
<bindings>
<basicHttpBinding>
<binding name="GDASHttp" closeTimeout="00:10:00" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Mtom" textEncoding="utf-8" transferMode="Streamed" useDefaultWebProxy="true">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows"/>
</security>
</binding>
</basicHttpBinding>
我没有更改客户端文件中的任何设置,因为我可以从SoapUI获取异常,而且问题仅与服务器配置有关。我确实理解了一些设置是根据文件大小接受的问题,但不确定我们在上述设置中可以提供的最大值是什么。
我根据服务器中的一些Google建议修改了IIS设置,这是我更改的applicationhost.config文件。
<location path="Default Web Site/GDAS.FY15R2.3.1/Trusted" overrideMode="Allow">
<system.webServer>
<handlers accessPolicy="Read, Execute" />
<security>
<ipSecurity>
<add ipAddress="127.0.0.1" subnetMask="255.255.255.255" allowed="true" />
</ipSecurity>
<requestFiltering>
<requestLimits maxAllowedContentLength="40000000" />
</requestFiltering>
</security>
<serverRuntime uploadReadAheadSize="2147483647" />
</system.webServer>
</location>
答案 0 :(得分:0)
这是你要使用的值:2147483647
但是对于WCF,您需要在客户端和服务器中配置它。你不能只改变服务器绑定,因为两个Bindings基本上是握手,所以MAX值应该在两个配置中匹配。
我会打开跟踪,看看到底发生了什么。