XAddr 验证规则

在 WSDAPI 发送 HTTP 消息(例如元数据请求)之前,ProbeMatchesResolveMatches 消息中包含的传输地址(XAddrs)受基本验证。

这是为了确保 XAddrs 与客户端位于同一子网中。

以下 XML 显示了一个示例 XAddrs 元素。 wsd 前缀引用命名空间 https://schemas.xmlsoap.org/ws/2005/04/discovery

<wsd:XAddrs>
    https://192.168.0.2:5357/37f86d35-e6ac-4241-964f-1d9ae46fb366
</wsd:XAddrs>

在 HTTP 消息通过网络发出之前,必须满足以下所有条件。

  • XAddrs 必须是 HTTP 或 HTTPS 地址。 忽略其他方案的 XAddrs。
  • 如果存在任何 HTTPS XAddrs,则所有 XAddrs 必须为 HTTPS。 将完全忽略包含 HTTP 和 HTTPS 地址的 XAddr 部分。 此外,设备的终结点地址必须与 HTTPS XAddrs 完全匹配。
  • XAddrs 必须是可通过 DNS 解析的 IP 地址或主机名。 通常,使用 IP 地址。
  • XAddrs 中至少包含一个 IP 地址(或从 XAddrs 中包含的主机名解析的 IP 地址)必须与接收 ProbeMatchesResolveMatches 消息的适配器位于同一子网上。
  • 必须可访问第一个 XAddr 中指定的地址和端口。 WSDAPI 在建立 HTTP 连接时尝试连接到此地址。

ProbeMatches

ResolveMatches

发现和元数据交换消息模式