2012-10-03 41 views
1

我試圖調用讀取XML字符串的WCF服務。我收到此錯誤 「Formater錯誤在讀取XML數據時已超出最大字符串內容長度配額 (8192)」。下面是服務web.config文件他讀取XML數據時已超出最大字符串內容長度配額(8192)

<?xml version="1.0"?> 
<configuration> 

<system.web> 
    <compilation debug="true" targetFramework="4.0" /> 
</system.web> 
<system.serviceModel> 
    <behaviors> 
     <serviceBehaviors> 
      <behavior> 
       <serviceMetadata httpGetEnabled="true"/> 
       <serviceDebug  includeExceptionDetailInFaults="true"/> 
       <dataContractSerializer maxItemsInObjectGraph="2147483647" /> 
      </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    <bindings> 
     <basicHttpBinding> 
      <binding name="BasicHttpBinding_IOrderCreateService" 
        maxReceivedMessageSize="2147483647" 
        openTimeout="00:1:00" 
        closeTimeout="00:1:00" 
        sendTimeout="00:25:00" 
        receiveTimeout="00:25:00"> 

      </binding> 

     <binding name="HandleLargeMessage" maxReceivedMessageSize="2147483647"> 
      <readerQuotas maxDepth="2147483647" 
       maxStringContentLength="2147483647" 
       maxArrayLength="2147483647" 
       maxBytesPerRead="2147483647" 
       maxNameTableCharCount="2147483647" /> 

     </binding> 
     </basicHttpBinding> 

    </bindings> 
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 
    <services> 

     <!-- beta.telagententerprise.com/WcfServices--> 
     <service name="OrderCreateService.OrderCreateService"> 
      <endpoint name="MessageServiceEndpoint" 
         address="http://localhost:2966/OrderCreateService.svc" 
         binding="basicHttpBinding" 
         bindingConfiguration="HandleLargeMessage" 
         contract="IOrderCreateService" /> 

     </service> 

    </services>  
</system.serviceModel> 

下面是客戶端的app.config

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
<system.serviceModel> 
    <behaviors> 
    <serviceBehaviors> 
     <behavior> 
      <serviceMetadata httpGetEnabled="true"/> 
      <serviceDebug includeExceptionDetailInFaults="true"/> 
      <dataContractSerializer maxItemsInObjectGraph="2147483647" /> 
     </behavior> 
    </serviceBehaviors> 
    </behaviors> 
    <bindings> 
     <basicHttpBinding> 
      <binding name="BasicHttpBinding_IOrderCreateService" 
        maxReceivedMessageSize="2147483647" 
        openTimeout="00:1:00" 
        closeTimeout="00:1:00" 
        sendTimeout="00:25:00" 
        receiveTimeout="00:25:00"> 

      </binding> 

      <binding name="HandleLargeMessage" maxReceivedMessageSize="2147483647"> 
       <readerQuotas maxDepth="2147483647" 
        maxStringContentLength="2147483647" 
        maxArrayLength="2147483647" 
        maxBytesPerRead="2147483647" 
        maxNameTableCharCount="2147483647" /> 

      </binding> 
     </basicHttpBinding> 

    </bindings> 
    <client> 
     <endpoint name="MessageServiceEndpoint" 
         address="http://localhost:2966/OrderCreateService.svc" 
         binding="basicHttpBinding" 
         bindingConfiguration="HandleLargeMessage" 
         contract="OrderCreateService.IOrderCreateService" /> 


    </client> 
</system.serviceModel> 

我搜索了這個錯誤嘗試上述仍然得到8192錯誤此代碼。 任何幫助將是偉大的。 謝謝, S

+0

你能顯示你的客戶端代碼嗎? – Cybermaxs

回答

0

服務器端配置 - >端點元素合同值不完全合格。應該是OrderCreateService.IOrderCreateService

此外,如果您在IIS上託管,映射到服務的地址由IIS處理。

0

即使在客戶端和服務器.config文件上設置了maxStringContentLength =「2147483647」後,我也遇到了同樣的問題。在Web上嘗試了很多建議之後,通過在客戶端和服務器項目上匹配目標框架(Visual Studio 2013中的項目屬性/構建選項卡/平臺目標下)來解決該問題。

相關問題