Исключение клиента WCF: нераспознанная версия сообщенияC#

Место общения программистов C#
Ответить
Anonymous
 Исключение клиента WCF: нераспознанная версия сообщения

Сообщение Anonymous »

Сегодня я столкнулся с этой ошибкой при развертывании клиента WCF для контроля качества:


System.ServiceModel.CommunicationException: нераспознанная версия сообщения.


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

Код: Выделить всё




true
...



Но удаленный веб-сервис просто отправляет это:

Код: Выделить всё


true
...

Насколько я могу судить, клиент WCF выдает исключение, поскольку нет конверта SOAP. Итак, мои вопросы:
  • Правильно ли мое предположение или мне следует поискать в другом месте?
  • Есть ли какой-нибудь способ настроить привязки клиента WCF для удаления ожидания SOAP Envelope?
  • Должен ли я просто сказать разработчику удаленной службы исправить свою службу (которую они написали специально для нас из предоставленного WSDL)?
Клиент WCF использует базовые привязки HttpBindings (и базовую аутентификацию HTTP через SSL/TLS). Я рассматривал возможность использования IClientMessageInspector.AfterReceiveReply() для перезаписи ответа, но исключение генерируется до вызова этого метода, т. е.: у нас уже есть его реализация для ведения журнала запросов/ответов, и она не достигает там точки останова.



Подробнее:

После взаимодействия со службой разработчику, похоже, что они полностью проигнорировали файлы .wsdl и (сгенерированные svcutil) IService.cs, которые мы им предоставили, и написали службу POX (Plain-Old XML) с нуля.

Я не уверен, что мы сможем убедить их сделать это правильно, поэтому теперь я ищу советы по преобразованию правильно работающего клиента WCF SOAP в клиент POX.

Подробнее здесь: https://stackoverflow.com/questions/377 ... ge-version
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»