使用定向发现检查应用程序的网络跟踪

任何可以显示原始数据包的网络数据包分析器都可用于检查 HTTP 元数据交换请求。 建议使用 Microsoft 网络监视器 3 (Netmon) 。 有关 Netmon 的详细信息,请参阅 下载 Netmon 和示例 DPWS 筛选器

检查网络跟踪以发现定向

  1. 将主机和客户端配置为在网络 ((即)运行,确保主机和客户端) 在不同计算机上运行。

  2. 在客户端或主机上安装数据包分析器 (Netmon) 。

  3. 配置数据包分析器以捕获连接主机和客户端的网络适配器上的流量。

  4. 通过启动主机和客户端或在网络资源管理器中按 F5 来重现失败。

  5. 筛选结果以隔离WS-Discovery和元数据交换流量。 若要查看示例 Netmon 筛选器,请参阅 下载 Netmon 和示例 DPWS 筛选器

    注意

    此步骤是可选的。

     

  6. 验证客户端和主机之间发送的消息是否符合基本流量要求。

验证消息是否符合流量要求

WSDAPI 客户端和主机必须发送符合以下条件的消息。 有关消息模式的常规信息,请参阅发现和元数据Exchange消息模式

  • 探测 消息必须由 HTTP 或 HTTPS 发送,通常发送到端口 5357 或 5358。
  • 探测消息的 Types 元素必须存在,并且不能为空。 它必须包含主机将响应的类型。
  • 必须将 ProbeMatches 消息发送到从中发送 探测 的 HTTP 或 HTTPS 端口。
  • ProbeMatches 消息的 RelatesTo 元素必须存在,并且不得为空。 其值必须与相应探测消息中的 MessageId 元素的值匹配。
  • 如果 ProbeMatches 消息中包含 XAddrs 元素,则必须验证提供的传输地址。 有关详细信息,请参阅 XAddr 验证规则
  • 必须在相应探测消息的 4 秒内发送 ProbeMatches 消息。 Windows防火墙可能会删除在探测消息后发送超过 4 秒的 ProbeMatches 消息。
  • 如果 ProbeMatches 消息中不包含 XAddrs 元素,并且客户端或主机将发送 HTTP 消息 ((例如获取元数据交换请求或服务消息) ),则客户端或主机必须通过 HTTP 或 HTTPS 发送解析消息。 此消息通常发送到端口 5357 或 5358。
  • 如果发送 了 Resolve 消息,则必须将 ResolveMatches 消息发送到发送解析消息的 HTTP 或 HTTPS 端口。
  • 必须在相应 Resolve 消息的 4 秒内发送 ResolveMatches 消息。 Windows防火墙可能会在解析消息后删除发送超过 4 秒的 ResolveMatchesmessage。

如果程序发送的消息不符合这些消息要求,则问题的原因已成功识别,并且不需要进一步的故障排除步骤。 重写程序,使其生成符合性的消息并重新测试程序。

如果问题来源仍无法确定,请联系 Microsoft 支持部门以获取帮助。 在联系支持人员之前,请收集相应的日志文件,以帮助确定问题的根本原因。 有关详细信息,请参阅 启用 WSDAPI 跟踪

使用定向发现对应用程序进行故障排除

WSDAPI 诊断过程

使用 WSDAPI 故障排除进行入门

下载 Netmon 和示例 DPWS 筛选器