Захват тела SOAP из службы WCF - PullRequest
2 голосов
/ 22 марта 2012

Я использую сервис WCF и объекты WSDL для построения тела. Мне нужно захватить запрос / ответ тела сообщения SOAP. Мне не нужно редактировать сообщение, просто посмотрите или сохраните / войдите в него.

Я попытался использовать ведение журнала WCF, как здесь: http://msdn.microsoft.com/en-us/library/ms730064.aspx

И с помощью средства просмотра трассировки служб Microsoft, однако, это только показывает мне заголовки и т. Д., Независимо от настроек, которые я использую.

Также пытались использовать fiddler, который, похоже, снова игнорирует тело запроса.

Итак ... мне нужно сделать что-то вроде того, что изложено здесь: Как получить запрос XML SOAP для запроса веб-службы WCF?

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

Для стандартных служб WS я использовал слушателя, как описано здесь: http://blog.encoresystems.net/articles/how-to-capture-soap-envelopes-when-consuming-a-web-service.aspx

Это работает точно так, как я хочу, и может быть включено / выключено через app.config

Ответы [ 2 ]

1 голос
/ 22 марта 2012

У меня не было проблем с захватом всего сообщения с помощью встроенной регистрации сообщений WCF.Вы открыли файл svclog с помощью вашего любимого текстового редактора и убедились, что все сообщение не в формате XML?Посмотрите рекомендуемые параметры развертывания и отладки в этой статье MSDN , чтобы узнать, как зарегистрировать все сообщение.В средстве просмотра трассировки службы обязательно выберите представление «Сообщение» и найдите все сообщение в правой нижней части вкладки «Сообщение» или «XML».

0 голосов
/ 22 ноября 2013

Есть гораздо более простой способ сделать это.Объекты запросов и ответов WCF предназначены для сериализации в XML, поэтому просто сериализуйте их в строку - что-то вроде этого.

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