关于设备上的 Web 服务

设备上的 Web 服务 API (WSDAPI) 是适用于 Windows Vista 和 Windows Server 2008 的 Web 服务设备配置文件 (DPWS) 的实现。 DPWS 约束 Web 服务规范,以便客户端可以轻松发现设备。 发现设备后,客户端可以检索该设备上托管的服务的说明并使用这些服务。

设备和服务

设备 是连接到网络的组件,通常是硬件。 示例包括打印机、Web 相机和视频系统。

设备可能包含零个或多个 服务。 例如,视频设备可能包含支持开机和关机、播放控制、媒体弹出和视频流式处理的服务。 播放控件可能支持播放、暂停、倒带和快进等操作。

发现和操作设备

WSDAPI 通过允许客户端通过网络发现和访问远程设备及其关联的服务来扩展本地即插即用模型。 它支持发现、单向和双向控制消息传送以及事件。

显示 WSDAPI 如何允许客户端发现和访问远程设备的示意图。

DPWS 设备使用唯一地址和一组标准化的 XML 消息 (公布其存在并公开服务(如果有任何) )。 DPWS 客户端可以使用发现过程来查找设备、枚举其服务,并连接到这些服务以执行特定操作。

WSDAPI 客户端首先查询设备以获取其服务的完整说明,包括 (服务类型,例如打印机服务类型或扫描程序服务类型) 。 然后,客户端通过调用由服务类型 (定义的命令来控制设备,例如,通过在具有打印机服务类型) 的设备上调用 CreatePrintJob 。 (可选)客户端还可以通过订阅在命令执行期间发生的事件来监视每个服务中的状态更改。

显示 WSDAPI 客户端如何查询设备并与设备交互的关系图。

有关设备消息传送模式的详细信息,请参阅 发现和元数据交换消息模式

逻辑和物理寻址

逻辑寻址用于唯一标识独立于其物理地址的设备。 WS-Discovery提供了一种将逻辑地址解析为物理地址的机制,从而允许进行客户端到设备的消息传送。 例如,你携带的网络附加存储 (NAS) 。 如果你有笔记本电脑和 NAS,则无论在子网之间移动时 NAS 获取的物理地址 (IP 地址) ,笔记本电脑都应该能够识别出它是同一设备。 为此,设备必须具有独立于其获取的 IP 地址的标识;由于 DNS 等传统机制在正常漫游方案中不可用,因此WS-Addressing和WS-Discovery提供逻辑寻址和解析作为临时替代方法。

制造设备时,会为其提供一个全局唯一标识符,表示为 UUID URI。 此标识符永远不会更改设备。 打开设备后,它将始终通过WS-Discovery Hello 消息来报出其逻辑地址,并将接受将它转换为物理地址的请求, (通常通过WS-Discovery 解析探测 消息 HTTP) 。 ) 获取有效的物理地址 (IP 地址后,所有消息都将通过该地址进行,并且仅当地址更改、设备状态更改和客户端需要通知或设备脱机时才使用WS-Discovery。

构建应用程序

WSDAPI 提供一个泛型 DPWS SOAP 堆栈,供客户端和服务应用程序使用。 设备上的 Web 服务代码生成器 (WsdCodeGen.exe) 可用于将服务说明 (WSDL) 转换为应用程序可以直接调用的代理和存根代码。 此生成的代码会自动将函数调用和参数转换为 SOAP 消息和 XML 字段,然后调用 WSDAPI 以向远程设备或客户端发出请求。

生成 WSDAPI 应用程序以创建和激活 PnP 返回的函数实例时,可以使用函数发现。 这些函数实例包含的数据可用于在需要的不仅仅是简单的发现时通过 PnP API 获取更多信息。 有关详细信息,请参阅 函数发现PnP-X

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

WSDAPI 规范符合性

WSDAPI 接口概述