2012-01-23 10 views
0

を超えている私は私のWCFサービスと通信しようとすると、私は次のエラーを取得する:最大名前テーブル文字カウントクォータ(16384)

The maximum nametable character count quota (16384) has been exceeded while reading XML data. The nametable is a data structure used to store strings encountered during XML processing - long XML documents with non-repeating element names, attribute names and attribute values may trigger this quota. This quota may be increased by changing the MaxNameTableCharCount property on the XmlDictionaryReaderQuotas object used when creating the XML reader. Line 4, position 283.

私はreaderQuotas as suggested hereを追加することによって、私のmaxNameTableCharCountを増やす試みたが、私はまだ同じエラーを取得。

... 
<bindings> 
    <basicHttpBinding> 
     <binding name="oseo_basicHTTP_binding"> 
      <readerQuotas maxDepth ="2147483647" 
       maxStringContentLength="2147483647" 
       maxArrayLength="2147483647" 
       maxBytesPerRead="2147483647" 
       maxNameTableCharCount="2147483647" /> 
     </binding> 
    </basicHttpBinding> 
</bindings> 
<services> 
    <service name="oseo"> 
     <host> 
      <baseAddresses> 
       <add baseAddress="http://localhost:56565/" /> 
      </baseAddresses> 
     </host> 
     <endpoint address="" binding="basicHttpBinding" bindingConfiguration="oseo_basicHTTP_binding" contract="Ioseo" /> 
     <endpoint 
      address="mex" 
      binding="mexHttpBinding" 
       contract="IMetadataExchange" /> 
    </service> 
</services> 
... 

EDIT#1: いくつかの背景情報:

このweb.configファイルは、サービス側にあります。私はSoapUIをクライアントとして使用していますが、.NETクライアントではありません。

+0

例外メッセージの最大値は変更されますか?誤ってバインディングを構成したことがあります。 – faester

+0

いいえ、変更されません。 – capdragon

+0

@faester:これはどのように修正するのですか?私は唯一のバインディングを持っていないのですか? – capdragon

答えて

1

することは、完全修飾名<service>要素のname属性でのサービスクラスのを持っていることを確認します。契約クラスはDataContract名前空間(DataContract.Ioseo)にあります。サービスクラスが同じ名前空間にある場合、これは必要なものです。

<services> 
    <service name="DataContract.OSEOService"> 
    <host> 
     <baseAddresses> 
     <add baseAddress="http://localhost:51515/" /> 
     </baseAddresses> 
    </host> 
    <endpoint address="" 
       binding="basicHttpBinding" 
       bindingConfiguration="oseo_basicHTTP_binding" 
       contract="DataContract.Ioseo" /> 
    <endpoint 
     address="mex" 
     binding="mexHttpBinding" 
     contract="IMetadataExchange" /> 
</service> 
関連する問題