powered by simpleCommunicator - 2.0.44     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Ошибка .. MTOM - что это значит
12 сообщений из 12, страница 1 из 1
Ошибка .. MTOM - что это значит
    #39173266
Фотография flashslash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

стучусь через клиент WCF к удаленному сервису,
протокол Http, получаю эксепшен:

"Ошибка формирования программы чтения для сообщения MTOM"

Подскажите, что это значит и как с этим бороться?
...
Рейтинг: 0 / 0
Ошибка .. MTOM - что это значит
    #39173278
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
flashslash, а сервис точно работает? Вероятно, превышен лимит размера тела запроса или ответа.
...
Рейтинг: 0 / 0
Ошибка .. MTOM - что это значит
    #39173285
Фотография flashslash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axeleron,

сервис работал, сперва было сообщение - ошибка увеличить размер maxReceivedMessageSize,

"Превышена квота максимального размера сообщения для входящих сообщений (100000). Для увеличения квоты используйте свойство MaxReceivedMessageSize соответствующего элемента привязки."}"

я увеличил до 1000000,

после стало приходить сообщение о МТОМ.
...
Рейтинг: 0 / 0
Ошибка .. MTOM - что это значит
    #39173295
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в custombinding есть такое: maxBufferSize ?

Код: c#
1.
<mtomMessageEncoding messageVersion="Soap12" maxBufferSize="2147483647"/>
...
Рейтинг: 0 / 0
Ошибка .. MTOM - что это значит
    #39173297
Фотография flashslash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axeleron,

более того, если запрос отправить через HttpWebRequest и HttpWebResponse
то результат я получаю мгновенно, что подтверждает работоспособность сервиса.

Однозначно здесь что-то не то с настройками WCF
...
Рейтинг: 0 / 0
Ошибка .. MTOM - что это значит
    #39173306
Фотография flashslash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

такого нет... вот мой конфиг по WCF

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<system.serviceModel>    
    <bindings>
      <basicHttpBinding>
        <binding name="XXXSoap11Binding" maxReceivedMessageSize="900000" sendTimeout="00:10:00"  messageEncoding="Mtom" />
      </basicHttpBinding>
    </bindings>
    <client>
      <endpoint address="http://..." binding="basicHttpBinding"
        bindingConfiguration="..." contract="..."      name="..." />
    </client>
</system.serviceModel>
...
Рейтинг: 0 / 0
Ошибка .. MTOM - что это значит
    #39173309
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если нет, то добавь:

Код: xml
1.
2.
3.
 <binding name="XXXSoap11Binding" maxReceivedMessageSize="900000" sendTimeout="00:10:00"  messageEncoding="Mtom" >
<mtomMessageEncoding messageVersion="Soap11" maxBufferSize="2147483647"/>
</binding>
...
Рейтинг: 0 / 0
Ошибка .. MTOM - что это значит
    #39173333
Фотография flashslash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

сделал вот такой конфиг:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
<bindings>
      <!--Custom-->
      <customBinding>
        <binding name="XXXXMessageExchangeSoap11Binding_custom"
                 maxReceivedMessageSize="65536" 
                 messageEncoding="Mtom"
                 sendTimeout="00:10:00">
          <mtomMessageEncoding messageVersion="Soap11" maxBufferSize="2147483647"/>
          <httpTransport />  <!--??? httpsTransport-->
        </binding>
      </customBinding>
      <!--End Custom-->
      
      <basicHttpBinding>
        
        <binding name="XXXXMessageExchangeSoap11Binding" maxReceivedMessageSize="65536" sendTimeout="00:10:00"  messageEncoding="Mtom" />
      </basicHttpBinding>
    </bindings>
	
    <client>
      <endpoint address="http://..." binding="customBinding"
       bindingConfiguration="XXXXMessageExchangeSoap11Binding_custom" 
       contract="XXXX3Space.XXXXMessageExchangePortType"
       name="XXXXMessageExchangeEndpoint" />
    </client>



и получил вот такой ответ:

Превышена квота максимального размера сообщения для входящих сообщений (65536). Для увеличения квоты используйте свойство MaxReceivedMessageSize соответствующего элемента привязки."}


если поменять 900000 на 65536
то все равно получаю это же сообщение..
...
Рейтинг: 0 / 0
Ошибка .. MTOM - что это значит
    #39173338
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
flashslash, посмотрите работающий пример:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<services>
  <service name="Service.IService">
    <clear />
    <endpoint binding="basicHttpBinding" contract="Service.IService" />
  </service>
</services>
<bindings>
  <basicHttpBinding>
    <binding maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
      <readerQuotas maxDepth="32" maxStringContentLength="2147483647"
        maxArrayLength="16348" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
    </binding>
  </basicHttpBinding>
  <webHttpBinding>
    <binding maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" />
  </webHttpBinding>
</bindings>
...
Рейтинг: 0 / 0
Ошибка .. MTOM - что это значит
    #39173828
Фотография flashslash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axeleron,

Да, отлично! Это работает..
Спасибо!
вообще такой биндинг я и раньше использовал, но тут при добавлении ссылки на сервис
добавилась почему-то одна скупая строка

<binding name="XXXXMessageExchangeSoap11Binding" messageEncoding="Mtom" />

даже не знаю с чего такие перемены...
...
Рейтинг: 0 / 0
Ошибка .. MTOM - что это значит
    #39173836
Фотография flashslash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В итоге у меня получился вот такой конфиг, если кому надо..
тут отсутствуют теги <service>..</service>

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
  <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="XXXXMessageExchangeSoap11Binding" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
          <readerQuotas maxDepth="32" maxStringContentLength="2147483647"
            maxArrayLength="16348" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
        </binding>
      </basicHttpBinding>
      <webHttpBinding>
        <binding maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" />
      </webHttpBinding>
    </bindings>
    <client>
      <endpoint address="http://..." binding="basicHttpBinding"
        bindingConfiguration="XXXXMessageExchangeSoap11Binding" contract="XXXX3Space.XXXXMessageExchangePortType"
        name="XXXXMessageExchangeEndpoint" />
    </client>
  </system.serviceModel>



p.s. Используется биндинг basicHttpBinding ,
но если кто объяснит разницу basicHttpBinding и webHttpBinding (он для чего-то здесь нужен?), то буду благодарен.
...
Рейтинг: 0 / 0
Ошибка .. MTOM - что это значит
    #39174014
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
flashslashно если кто объяснит разницу basicHttpBinding и webHttpBinding (он для чего-то здесь нужен?), то буду благодарен.
basicHttpBinding используется для стандартных WCF SOAP вызовов сервиса, а webHttpBinding - обычно для вызова из Silverlight или JSON, то есть у него отсутствует описание сервиса WSDL. Здесь есть неплохое описание различий.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Ошибка .. MTOM - что это значит
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]