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

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

"The Maximum string content length quota (8192) has been exceeded while reading 
XML data. This quota may be increased by changing the MaxStringContentLength 
property on the XmlDictionaryReaderQuotas object used when creating the XML 
reader"

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

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

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


person TygerKrash    schedule 16.04.2010    source источник


Ответы (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>
person Tanner    schedule 16.04.2010
comment
Спасибо за предложение, Таннер, я посмотрел на это. Хотя я не контролирую код на сервере, но могу изменить файл web.config. Привязка выглядит немного иначе, хотя, думаю, это подходящая часть ... похоже, настроена для работы с большими объемами данных .. ‹basicHttpBinding› ‹имя привязки = wsWithText maxReceivedMessageSize = 665536 messageEncoding = Text /› .... ‹/ basicHttpBinding › - person TygerKrash; 16.04.2010
comment
Спасибо. Оказывается, все, что мне нужно было сделать, это добавить тот же элемент ‹readerQuotas› в мою привязку. - person TygerKrash; 17.04.2010

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

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

person artcoding    schedule 11.01.2011