Исключение клиента 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.

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