捕获 WinHTTP 日志

重要

此过程仅适用于 Windows 7 或 Windows Server 2008 R2 之前的 OS 版本。

WinHTTP 日志可用于帮助对 WSDAPI 应用程序进行故障排除。 当元数据交换失败或 SSL/TLS 协商失败时,这非常有用。

此过程演示如何在客户端电脑上捕获 WinHTTP 日志。 启用日志记录后,基于 WSDAPI 的客户端应用程序不得运行。 如果在启用日志记录时客户端应用程序正在运行,则必须重启客户端和/或电脑,然后才能WS-Discovery,元数据交换流量将显示在 WinHTTP 日志中。

捕获 WinHTTP 日志

  1. 在客户端电脑上打开提升的命令提示符窗口。

  2. 运行以下命令: netsh winhttp set tracing trace-file-prefix=“C:\Temp\dpws” level=verbose format=ansi state=enabled max-trace-file-size=1073741824

    此命令启用 WinHTTP 日志记录。 所有日志文件将存储在 C:\Temp 目录中,文件名将以 dpws 前缀开头。 最多将存储 1 GB 的日志文件。

  3. 如果在客户端上使用 WinHTTP 的进程已在运行,请重新启动计算机。 例如,如果使用 函数发现 API,则必须重启计算机。 函数发现 API 从服务主机内部调用 WinHTTP,该服务主机可能在启用跟踪时已启动。

  4. 启动基于 WSDAPI 的客户端应用程序。 可以使用正在调试的应用程序或 WSD 调试客户端。

  5. 重现应用程序故障。

  6. 终止基于 WSDAPI 的客户端应用程序。

  7. 如果使用 WinHTTP 的进程未随客户端应用程序一起终止,请重新启动计算机。 例如,如果使用 函数发现 API,则必须重启计算机。

  8. 运行以下命令: netsh winhttp set tracing state=disabled

    此命令禁用 WinHTTP 日志记录。

  9. 检查 C:\Temp 中的 DPWS 日志,并验证是否已发送所需的请求和消息。

  10. 如果使用安全通道 (HTTPS) 通信,检查 SSL/TLS 失败。

捕获 WinHTTP 日志后,可以检查日志以查找 WSDAPI 应用程序失败的原因。 请注意,用于查看这些日志的文本编辑器必须以管理员身份运行。 有关详细信息,请参阅 使用 WinHTTP 日志记录验证获取流量