Исключение протокола WCF - PullRequest
2 голосов
/ 11 марта 2009

Мы получаем странное поведение от службы, развернутой в удаленной системе, которую мы используем для доступа и публикации данных.

Получение информации из службы не является проблемой. Однако всякий раз, когда мы пытаемся выполнить методы вставки в сервисе, мы получаем System.ServiceModel.ProtocolException. Странно то, что он успешно выполнит около 40 записей до сбоя.

Клиент обменивается данными через SSL, и TransportWithMessageSecurity включен в wsHttpBinding.

Сообщение об ошибке генерируется при «Настройке активности безопасного сеанса»:

System.ServiceModel.ProtocolException, System.ServiceModel, версия = 3.0.0.0, Culture = нейтрально, PublicKeyToken = b77a5c561934e089

Тип содержимого text / html ответное сообщение не соответствует тип содержимого привязки (application / soap + xml; charset = utf-8). При использовании пользовательского кодировщика убедитесь, что что метод IsContentTypeSupported реализован правильно.

Мы перепробовали ряд тестов, каждый из которых постоянно дает сбой, как только мы достигаем определенного количества вставок.

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

Ответы [ 6 ]

1 голос
/ 06 апреля 2011

ASP.NET может быть неправильно настроен для .NET 4.0 перейдите туда, где установлен .NET 4.0, и попробуйте выполнить следующую команду, чтобы переустановить его:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis.exe -iru
1 голос
/ 09 июля 2009

Вы, вероятно, достигли настроенного размера сообщения, и инфраструктура WCF усекает сообщение SOAP, в результате чего сериализатор (Contract или XML Serializer) не сможет десериализовать сообщение.

Попробуйте увеличить размер запроса WCF, см.

1 голос
/ 09 июля 2009

Если фрагмент кода отправляет вам HTML, то вам, вероятно, следует прочитать его, чтобы увидеть, что он говорит.

1 голос
/ 11 марта 2009

Интересно, может ли средство просмотра трассировки пролить здесь свет? Я не знаю, в чем проблема, боюсь ...

0 голосов
/ 15 июля 2016

Я столкнулся с той же проблемой. Наконец, я нашел решение, добавив код в файл web.config.

Я добавил их под тегом <basicHttpBinding>:

<binding  name="xyz">
  <security mode= "Transport" />
</binding>
0 голосов
/ 23 ноября 2011

Это может кому-нибудь помочь. Моя проблема была: у меня есть веб-сайт, использующий сервис WCF. После развертывания веб-сайта я также забыл развернуть службу WCF.

После развертывания службы WCF все работало нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...