Дамп возвращаемых данных из веб-сервиса в .NET - PullRequest
1 голос
/ 23 января 2010

У меня есть клиент веб-службы в C #, где я беру объект, возвращенный веб-службой, и передаю его следующему методу для создания файла XML:

XmlSerializer s = new XmlSerializer(typeof(T));
TextWriter sw = new StreamWriter(filename);
s.Serialize(sw, obj);
sw.Close();

Однако есть поля, которые сторона веб-службы утверждает, что отправляет, в то время как результирующий xml не содержит их (IU выполнил «службу обновления» в VS ...). Есть ли способ получить дамп данных, которые веб-клиент получает на более низком уровне?

Ответы [ 4 ]

3 голосов
/ 23 января 2010

Два очень хороших варианта:

  • Wireshark - трассировщик сети, в основном
  • Fiddler - прокси, который записывает запросы и ответы и хорошо отображает все

Wireshark менее инвазивен, чем Fiddler, поскольку он не меняет ничего, что делает клиент, но Fiddler поддерживает HTTPS, если вы можете убедить клиента принять его сертификат (это фактически человек-посредник). атака, насколько это касается протокола - но Фиддлер - человек посередине).

Кроме того, я почти уверен, что вы можете добавить фильтры SOAP и т. Д. В .NET, чтобы регистрировать, что входит и выходит, но что хорошо в Wireshark и Fiddler, так это то, что они отделены от вашего процесса, поэтому вы можете быть абсолютно уверены что результаты не были испорчены ничем в вашем коде или конфигурации.

1 голос
/ 24 января 2010

Вы также можете использовать Http Analyzer для захвата HTTP-транспорта.

0 голосов
/ 23 января 2010

Если вы используете Visual Studio и у вас есть веб-ссылка в вашем проекте, вы можете выбрать отображение всех файлов, и там вы увидите все прокси-классы и источники данных, которые могут дать вам подсказку, чтобы увидеть, какого рода структура данных.

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

0 голосов
/ 23 января 2010

Вы можете использовать Fiddler, чтобы получить этот дамп, если вы используете транспорт HTTP.

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