Ошибка квоты максимальной длины содержимого строки при использовании веб-службы WCF из Biztalk

Я получаю это сообщение об ошибке...

"Превышена максимальная квота длины содержимого строки (8192) при чтении 
Данные XML. Эта квота может быть увеличена путем изменения MaxStringContentLength 
свойство объекта XmlDictionaryReaderQuotas, используемого при создании XML 
читатель"

... в одной из моих оркестровок, которая использует веб-сервис WCF (stacktrace указывает на форму получения, где проблема). Вероятно, что ответ очень велик.

Рассматривая некоторые другие вопросы с этим сообщением об ошибке, решение состоит в том, чтобы изменить настройку привязок WCF в файле конфигурации. Однако я не могу найти эти параметры конфигурации, когда я использую BizTalk. Кажется, они нигде не генерируются. Стоит ли пытаться добавить их в BTSNTSVc.exe.config?

Любые предложения приветствуются.

2 ответа

Решение

У вас есть контроль над кодом на стороне сервера? Если так, измените конфигурацию там и восстановите сервисную ссылку. Должно выглядеть примерно так: maxStringContentLength = "2147483647":

<bindings>
  <wsHttpBinding>
    <binding name="newHTTPBinding" 
             maxBufferPoolSize="2147483647"  
             maxReceivedMessageSize="2147483647">
      <readerQuotas maxDepth="32" 
                    maxStringContentLength="2147483647"
                    maxArrayLength="16384" 
                    maxBytesPerRead="4096" 
                    maxNameTableCharCount="16384" />
    <binding/>
  <wsHttpBinding>
<bindings>

Я исправил проблему, добавив привязку по умолчанию в basicHTTPBinding, как в http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/d5b7ac03-70f8-4366-b055-c177c61f4dec/

Необходимая модификация была сделана для клиента.

Другие вопросы по тегам