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

Get 消息是用于请求元数据的WS-Transfer消息。 有关获取消息的详细信息,请参阅 WS 传输规范的第 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
获取 HTTP 请求定向到的主机和端口。

 

以下 SOAP 消息显示了示例 Get 消息。

<?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>

Get 消息具有以下焦点。

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

 

发现和元数据交换消息

GetResponse 消息