Вопрос

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

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

Это было полезно?

Решение

такие инструменты, как tcptrace или Скрипач может помочь.

несколько ссылок по устранению неполадок:

Отслеживание WCF с помощью TcpTrace

Использование Fiddler и Excel 07 для отладки веб-сервисов

Fiddler может упростить отладку

Другие советы

Пример кода MSDN который реализует TraceExtension для SOAP;Вы можете использовать «как есть» или изменить вход в систему по своему усмотрению (я использовал БД и сохранил ее не только для отладки, но и для архивирования всех сообщений на будущее).

Для вызовов веб-службы SOAP я нашел Мыльный интерфейс быть чрезвычайно полезным.Он может подключаться к WSDL для получения определений методов, создавать каркасные конверты для вызова этих методов, и вы можете увидеть полноценный результат после вызова.

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

Внутри Visual Studio вы можете записать DataSet в файл.

myDataSet.WriteXml(filename);

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

Dim url As String = "http://web.service.com/"
Dim request As WebRequest = WebRequest.Create(url)
Dim response As WebResponse = request.GetResponse()
Dim stream As Stream = response.GetResponseStream()

Dim xmlDoc As XmlDocument = New XmlDocument
xmlDoc.Load(stream)
xmlDoc.Save("C:\Temp\foo.xml")

Предложение использовать Скрипач этого было достаточно, чтобы привлечь к работе свою ИТ-команду.У них уже была копия подобной программы WireShark установлен на веб-сервере.

Не будучи очень разбирающимся в сети, я сначала думал, что смогу отслеживать запросы, сделанные с моего компьютера к веб-сервису.Это не сработало.Мониторинг запросов по мере их поступления на веб-сервер дал мне структуру заголовка http и мыльного конверта.

Спасибо за все ответы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top