Как просмотреть данные SOAP, которые отправляет мое клиентское приложение? - PullRequest
6 голосов
/ 13 января 2009

У меня есть проект, в котором я создал прокси-классы веб-службы с помощью wsdl.exe, а затем просто создаю экземпляр этого класса (наследует System.Web.Services.Protocols.SoapHttpClientProtocol) и вызываю метод, который должен отправить сообщение SOAP. , Я использую Visual Studio 2008, если это имеет значение. И я пытаюсь сделать это на своей машине для разработки без доступа к реальному веб-сервису, который находится внутри внутренней сети клиента. Таким образом, отправка, конечно, не удастся, и я не получу никакого ответа, но все, что я хотел бы видеть, это точное содержание сообщений SOAP, которые это решение создает и пытается отправить. Как я это вижу?

Ответы [ 5 ]

6 голосов
/ 13 января 2009

Использовать Скрипач .

3 голосов
/ 13 января 2009

Взгляните на SOAPUI с eviware.com.

Это бесплатное приложение Java для личного использования. Среди прочего вы можете настроить его для работы в качестве фиктивного тестового сервера. Просто загрузите WSDL и введите фиктивные данные.

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

1 голос
/ 13 января 2009

Если доступ к вашей веб-службе осуществляется с помощью обычного текста, не являющегося SSL HTTP, вы можете просто использовать сниффер, например Wireshark , для просмотра данных, поступающих из вашего приложения и в него. Wireshark может отслеживать, фильтровать и анализировать данные проводов. Я использовал его для отладки HTTP и других протоколов много раз, и это отличный инструмент для этого.

0 голосов
/ 13 января 2009

Вы можете перехватить вызов с помощью tcpMon

0 голосов
/ 13 января 2009

SOAP-сообщения - это просто XML-данные, отправляемые методом HTTP POST. Таким образом, вы можете, например, установить локальный веб-сервер на своем компьютере разработки, настроить веб-службу на использование фиктивного URI на этом сервере и захватить сетевой трафик с помощью WireShark (AKA ethereal). Большим преимуществом этого метода является то, что он не требует кодирования.

В качестве альтернативы вы можете использовать HTTP-эхо-сервер, который выводит свой входящий трафик, например этот (найденный при поиске в поиске "http echo server"):

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