解决消息
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 消息中引用的消息标识符。 |
地址 |
|
包含要解析的终结点的地址。 |
相关主题