呼叫webservice時提示對操作的回覆訊息正文進行反序列化時出錯

一劍平江湖發表於2013-07-11

主要原因webservice返回值的長度超過readerQuotas中的了maxStringContentLength值,造成返回值截斷,不完整,反序列化時出錯。


 <readerQuotas maxDepth="32" maxStringContentLength="81920" maxArrayLength="16384"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
解決方案:調整maxStringContentLength的值


Web service 超過了最大請求長度


Web service的預設的請求長度是4M


當內容超過了4M會報錯


System.Web.Services.Protocols.SoapException: 執行配置檔案中指定的擴充套件時出現異常。 ---> System.Web.HttpException: 超過了最大請求長度。 
   在 System.Web.HttpRequest.GetEntireRawContent() 
   在 System.Web.HttpRequest.get_InputStream() 
   在 System.Web.Services.Protocols.SoapServerProtocol.Initialize() 
   --- 內部異常堆疊跟蹤的結尾 --- 
 可以在Web.config修改最大的請求長度,如修改成50M


system.web> 
   <httpRuntime   maxRequestLength= "51200"   executionTimeout="3600"   /> 
 </system.web> 

相關文章