Visual Studio 使调用 Web 服务变得容易,试图弄清楚幕后发生的事情是困难的。
在调用 Web 服务时,如何查看从我的 .Net 应用程序生成的实际 XML?
Visual Studio 使调用 Web 服务变得容易,试图弄清楚幕后发生的事情是困难的。
在调用 Web 服务时,如何查看从我的 .Net 应用程序生成的实际 XML?
一些故障排除链接:
为 SOAP 实现 TraceExtension 的MSDN 示例代码;您可以按原样使用或修改以登录任何您想要的内容(我使用了一个数据库并保留它,不仅用于调试,还用于存档所有通信以供以后使用)。
对于 SOAP Web 服务调用,我发现SoapUI非常有用。它可以连接到 WSDL 以获取方法定义,创建骨架信封来调用这些方法,并且您可以在调用后看到完整的结果。
在 Visual Studio 之外,您可以使用 Fiddler 工具准确查看请求和响应中包含的内容。
在 Visual Studio 中,您可以做的一件事是将 DataSet 写入文件。
myDataSet.WriteXml(filename);
这是如何在 Visual Studio 中执行此操作的另一个示例。所有这一切都是从 Web 服务获取响应并将其保存到您指定的文件中:
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")
使用Fiddler的建议足以让我的 IT 团队参与进来。他们已经在网络服务器上安装了 一个类似程序WireShark的副本。
不是很精通网络,我最初认为我可以监视从我的 PC 向网络服务发出的请求。那没有用。监控进入网络服务器的请求确实给了我 http 标头和肥皂信封的结构。
感谢所有的回复。