【问题标题】:Get xml web service request获取 xml 网络服务请求
【发布时间】:2011-01-11 19:31:39
【问题描述】:

我正在向 Web 服务提交请求,但我收到了一些错误。他们要求查看 xml 请求和响应的示例。我使用 Visual Studio 来使用 Web 服务,所以我只是在我的代码中调用了一个方法——我实际上并没有看到任何 xml。

有没有办法将 XML 请求和响应作为 XML 或至少一个文本字符串来获取?

谢谢

【问题讨论】:

  • 这是 Web 参考还是服务参考?

标签: asp.net web-services


【解决方案1】:

最简单的方法是使用 3rd 方工具,例如 Fiddler 。无论如何,你会很高兴你开始使用这个工具。

【讨论】:

  • 你以前做过吗?我正在阅读教程(其中大部分已过时),但它们没有帮助。
  • 谢谢,但我无法为 Web 服务请求工作。我最终使用 XmlSerializer 编写了一些代码来输出一个 xml 文件。
  • 出于好奇,您所说的“无法正常工作”到底是什么意思?基本上它的全部内容是 1. 启动提琴手 2. 记录请求的内容。我假设没有请求出现?
【解决方案2】:

你可以使用Fiddler

【讨论】:

  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
  • @Matthieu,伙计,这就像在问,where to download google chrome from? 并提供指向http://google.com 的答案,你是在告诉我提供更多描述吗?来吧,认真点。
【解决方案3】:

我不得不调试最近发生的事情,wireshark 和 fiddler 等工具是调试请求和响应的好工具,除非您使用 HTTPS 或在本地计算机上调试并执行客户端和 Web 服务本地。

我找到了一种方法,可以让您查看请求和响应的详细信息,而无需修改一行代码。

.NET 有一个称为跟踪的内置功能。通过启用对 System.NET 命名空间的跟踪,您可以捕获所有内容。

以下是启用的步骤。

将以下代码添加到客户端应用程序中的 app.config。

<system.diagnostics>
<trace autoflush="true"  />
<sources>
    <source name="System.Net">
        <listeners>
            <add name="System.Net"/>
        </listeners>
    </source>
</sources>
<sharedListeners>
    <add name="System.Net"
        type="System.Diagnostics.TextWriterTraceListener"
        initializeData="System.Net.trace.log" />
</sharedListeners>
<switches>
    <add name="System.Net" value="Verbose" />
</switches>
</system.diagnostics>

现在,当您执行客户端应用程序时,您可以进入运行可执行文件的文件夹并找到文件 System.Net.trace.log

然后您将在日志文件中找到您的请求和服务器响应。这个解决方案的好处是您不必安装或运行任何额外的东西。然而,该解决方案可能只是用于在测试或阶段环境中开发或诊断某些东西的解决方案,而不是生产环境。但是我假设因为您提到在 Visual Studio 中创建解决方案并且它无法正常工作,所以您显然处于开发阶段。

【讨论】:

  • 不幸的是,它只捕获了前 1024 个字符 :(
猜你喜欢
  • 1970-01-01
  • 2018-04-16
  • 2016-11-01
  • 1970-01-01
  • 2013-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多