获取 (元数据交换) HTTP 请求和消息

获取消息是用于请求元数据的 WS-Transfer 消息。 有关获取消息的详细信息,请参阅 WS-Transfer 规范的第 3.1 部分。 由于元数据交换是通过 HTTP 进行的,因此 Get 消息是 HTTP 请求的有效负载。

DPWS 客户端发送 Get 消息。 函数发现客户端、调用 WSDCreateDeviceProxy的 WSDAPI 客户端,以及调用 WSDCreateDeviceProxyAdvanced 发送此消息的 WSDAPI 客户端。

注意

本主题演示 WSDAPI 客户端和主机生成的 DPWS 消息示例。 WSDAPI 将分析和接受不符合此示例的其他 DPWS 兼容消息。 请勿使用此示例验证 DPWS 互作性;请改用 WSDAPI 基本互作性工具(WSDBIT)

 

以下示例演示了一个获取 HTTP 请求的示例。

POST /37f86d35-e6ac-4241-964f-1d9ae46fb366
HTTP/1.1
Content-Type: application/soap+xml
User-Agent: WSDAPI
Host: 192.168.0.2:5357
Content-Length: 658
Connection: Keep-Alive
Cache-Control: no-cache
Pragma: no-cache

获取 HTTP 请求具有以下焦点。

焦点 标题行 描述
URL 路径
POST /37f86d35-e6ac-4241-964f-1d9ae46fb366
发布 Get HTTP 请求的 URL 路径。
主机和端口
Host: 192.168.0.2:5357
定向 Get HTTP 请求的主机和端口。

 

以下 SOAP 消息显示了一个示例“获取”消息。

<?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">
<soap:Header>
    <wsa:To>
        urn:uuid:37f86d35-e6ac-4241-964f-1d9ae46fb366
    </wsa:To>
    <wsa:Action>
        https://schemas.xmlsoap.org/ws/2004/09/transfer/Get
    </wsa:Action>
    <wsa:MessageID>
        urn:uuid:027bec45-c37c-466c-936c-68f648abe2bb
    </wsa:MessageID>
    <wsa:ReplyTo>
        <wsa:Address>
            https://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
        </wsa:Address>
    </wsa:ReplyTo>
    <wsa:From>
        <wsa:Address>
            urn:uuid:49e131df-351a-4ece-9a6f-6a862d31cffa
        </wsa:Address>
    </wsa:From>
</soap:Header>
<soap:Body>
</soap:Body>

“获取”消息具有以下焦点。

焦点 XML 描述
<wsa:To>
    urn:uuid:37f86d35-e6ac-4241-964f-1d9ae46fb366
</wsa:To>
请求获取元数据的设备标识符。
获取
<wsa:Action>
    https://schemas.xmlsoap.org/ws/2004/09/transfer/Get
Get SOAP作将消息标识为 Get 消息。
MessageID
<wsa:MessageID>
    urn:uuid:027bec45-c37c-466c-936c-68f648abe2bb
包含消息标识符,该标识符在 GetResponse 消息中引用。

 

发现和元数据交换消息

GetResponse 消息