SOAP службы регистрации запросов и ответов - PullRequest
6 голосов
/ 24 августа 2011

Я пытаюсь зарегистрировать запрос на мыло и ответные сообщения службы в C #.У меня есть готовое расширение мыла, которое делает все это, однако у меня возникают проблемы при добавлении его в метод службы.

Поскольку в моем проекте VS добавлена ​​ссылка на службу, а не ссылка на веб-службу, когда япроверьте справочный файл для этой службы, я не вижу метод, который выполняет вызов удаленной службы.Все примеры, которые я видел, были добавлены в веб-сервис, который имеет другой формат ссылки.

Как я могу регистрировать мыльные сообщения в этом случае?

Ответы [ 2 ]

13 голосов
/ 24 августа 2011

Расширение Soap только для использования сервиса или клиента ASMX = Добавить веб-ссылку.После того, как вы использовали ссылку «Добавить службу», вы используете клиентский API WCF и не можете использовать расширение Soap.Вы должны создать инспектор сообщений вместо .

Если вам нужна регистрация сообщений только для целей отладки, вы можете использовать встроенную запись сообщений WCF .

2 голосов
/ 01 июля 2018

Существует еще один способ просмотра XML SOAP - пользовательский MessageEncoder .Основное отличие от IDispatchMessageInspector / IClientMessageInspector состоит в том, что он работает на более низком уровне, поэтому он захватывает исходное содержимое байта, включая любой искаженный xml.

Чтобы реализовать трассировку с использованием этого подхода, необходимо обернуть стандартную textMessageEncoding с пользовательским кодировщиком сообщений в качестве нового связующего элемента и применение этой пользовательской привязки к конечной точке в вашей конфигурации .

Также вы можете увидетькак пример, как я это сделал в моем проекте - упаковка textMessageEncoding, регистрация кодировщик , пользовательская привязка элемент и config .

...