Resolve 消息是客户端用来按名称搜索网络上的服务的WS-Discovery消息。 仅当 http 消息 ((如 获取 元数据交换请求或服务消息) )时,客户端才会发送 Resolve 消息。 有关解决消息的详细信息,请参阅 WS-Discovery 规范的第 6.1 节。
UDP 多播将 Resolve 消息发送到端口 3702。 不支持单播解析消息。
DPWS 客户端发送 Resolve 消息。 以下列表显示了 WSDAPI 将发送 Resolve 消息的方案。
- 如果 ProbeMatches 消息中没有 XAddrs,函数发现客户端将发送 Resolve 消息。
- 调用 IWSDiscoveryProvider::SearchById 方法的客户端将发送 Resolve 消息。
- 如果逻辑设备地址传递给 pszDeviceId,调用 WSDCreateDeviceProxy 的客户端可能会发送 Resolve 消息。
- 调用 WSDCreateDeviceProxyAdvanced 的客户端将在 pDeviceAddress 参数设置为 NULL 的情况下调用函数时发送 Resolve 消息。
注意
本主题演示 WSDAPI 客户端和主机生成的 DPWS 消息示例。 WSDAPI 将分析和接受不符合此示例的其他符合 DPWS 的消息。 不要使用此示例来验证 DPWS 互操作性;请改用 WSDAPI 基本互操作性工具 (WSDBIT) 。
以下 SOAP 消息显示了示例 Resolve 消息。
<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope
    xmlns:soap="https://www.w3.org/2003/05/soap-envelope"
    xmlns:wsa="https://schemas.xmlsoap.org/ws/2004/08/addressing"
    xmlns:wsd="https://schemas.xmlsoap.org/ws/2005/04/discovery">
<soap:Header>
    <wsa:To>
urn:schemas-xmlsoap-org:ws:2005:04:discovery
</wsa:To>
    <wsa:Action>
        https://schemas.xmlsoap.org/ws/2005/04/discovery/Resolve
    </wsa:Action>
    <wsa:MessageID>
        urn:uuid:38d1c3d9-8d73-4424-8861-6b7ee2af24d3
    </wsa:MessageID>
</soap:Header>
<soap:Body>
    <wsd:Resolve>
        <wsa:EndpointReference>
            <wsa:Address>
                urn:uuid:37f86d35-e6ac-4241-964f-1d9ae46fb366
            </wsa:Address>
        </wsa:EndpointReference>
    </wsd:Resolve>
</soap:Body>
</soap:Envelope>
“解决”消息具有以下焦点。
| 焦点 | XML | 说明 | 
|---|---|---|
| 解决 |  | Resolve SOAP 操作将消息标识为 Resolve 消息。 | 
| 消息 ID |  | 包含 ResolveMatches 消息中引用的消息标识符。 | 
| 地址 |  | 包含要解析的终结点的地址。 | 
相关主题