Просмотреть основное SOAP-сообщение, используя vb.net - PullRequest
4 голосов
/ 07 января 2009

У меня есть веб-сервис VB.NET, который вызывает сторонний веб-сервис. Как я могу просмотреть сообщение SOAP, сгенерированное .NET, прежде чем оно будет отправлено сторонней веб-службе, и как я могу увидеть ответ SOAP, прежде чем он будет сериализован .NET.

При создании автономного EXE-файла я вижу файл Reference.vb, который создается автоматически, но не вижу аналогичного файла, когда мой проект является веб-службой. Я нашел много кода на C # для этого, но ни одного в VB.NET.

Edit - Fiddler и TCP logger отлично работают, но не подойдут для моих целей. Мне нужно иметь доступ к необработанным сообщениям SOAP из приложения, чтобы я мог их регистрировать или изменять. Мне нужно сделать больше, чем просто видеть сообщения, идущие туда-сюда.

Ответы [ 3 ]

2 голосов
/ 07 января 2009

Вы можете использовать fiddler или сниффер tcp для фильтрации и идентификации всего исходящего и входящего трафика на вашем хосте.

Это если вы хотите увидеть XML-запрос и ответ.

0 голосов
/ 12 апреля 2010

Я пытался сделать то же самое, и это, кажется, работает для меня:

Dim message As String = OperationContext.Current.RequestContext.RequestMessage.ToString()

Я не думал, что это будет так легко, так как большую часть времени ToString() возвращает название класса, но я попробовал это и низко, и вот.

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

Обратите внимание, что если вы перехватываете исключение в классе, который реализует IErrorHandler, вы должны выполнить эту операцию из метода ProvideFault() вместо метода HandleError(), поскольку контекст закрывается до того, как он получает вызвать метод HandleError().

Надеюсь, это поможет.

0 голосов
/ 18 сентября 2009

Как насчет использования расширения, позволяющего вам изучить сообщение SOAP?

Доступ к необработанным SOAP-сообщениям в веб-службах ASP.NET http://msdn.microsoft.com/en-us/magazine/cc188761.aspx

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