安全通信场景通过使用安全通道测试发现、元数据交换和事件处理。
在尝试这些方案之前,应已成功完成 设备和服务检查 和 事件方案 。
若要详细了解常规 WSDAPI 规范符合性,请参阅 WSDAPI 规范符合性。
| 案例 | 客户端操作 | 服务器操作 | Pass-Fail 条件 |
|---|---|---|---|
| 5.1 | 呼叫探针以检测安全设备 | ||
| 5.1.1 | 发送一个通配符探测请求并遵循以下步骤: - 使用默认匹配规则。 - 无 wsd:Types 元素。 - 无 wsd:Scopes 元素。 | 使用 ProbeMatches 进行响应。 注意: 如果提供了 wsd:XAddrs ,则此地址必须是 https URI,wsa:EndpointReference/wsa:Address 必须与 wsd:XAddrs 相同。 |
转到步骤 5.1.2(或 5.1.3)。 |
| 5.1.2 [可选。 仅当在 5.1.1 中的 ProbeMatches 中未提供 wsd:XAddrs 时,才需要执行此步骤。 | 将解析发送到 1.2.1 的 ProbeMatches 中指定的 wsa:EndpointReference/wsa:Address 。 | 使用 ResolveMatches 进行响应。 注意:wsd:XAddrs 必须是 https URI,wsa:EndpointReference/wsa:Address 必须与 wsd:XAddrs 相同。 |
转到步骤 5.1.3。 |
| 5.1.3 | 将 GetMetadataRequest 发送到 TestDevice。 | 使用 GetMetadataResponse 进行响应。 | 转到步骤 5.1.4。 |
| 5.1.4 | 显示 ThisDevice 元数据。 | 无 | 对应于发送的内容。 有关客户端输出的示例,请参阅 示例元数据响应输出。 |
| 5.1.5 | 显示 ThisModel 元数据。 | 无 | 对应于发送的内容。 有关客户端输出的示例,请参阅 示例元数据响应输出。 |
| 5.1.6 | 显示主机、托管服务、端点引用。 | 无 | 对应于发送的内容。 有关客户端输出的示例,请参阅 示例元数据响应输出。 |
| 5.2 | 将探测定向到安全设备 | ||
| 5.2.1 | 将通配符探测作为 HTTPS 请求发送: - 使用默认匹配规则。 - 无 wsd:Types 元素 - 无 wsd:Scopes 元素 - 提供 HTTP 地址。 |
使用使用 HTTPS 响应的 ProbeMatches 进行响应。 注意: 如果提供了 wsd:XAddrs ,则此地址必须是 https URI,wsa:EndpointReference/wsa:Address 必须与 wsd:XAddrs 相同。 |
确认 TestDevice 的 wsa:EndpointReference/wsa:Address 是否正确。 |
| 5.3 | 将事件订阅和续订到安全设备 | ||
| 使用在 5.1 或 5.2 中测试的方法来确定安全设备的发现。 | |||
| 5.3.1 | 订阅 SimpleEvent 使用: - wse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>"- wse:Filter == http://schemas.example.org/EventingService/SimpleEvent客户端可以选择包括一个类型为 xs:duration 的过期时间。 |
发送具有足够时间来完成步骤 5.3.2 的 SubscribeResponse。 到期时间必须的类型为 xs:duration。 对于此测试,服务器不需要使用与从客户端请求相同的 xs:duration 。 |
客户端接收响应,并可以转到步骤 5.3.2。 |
| 5.3.2 | 无 | 触发 SimpleEvent。 | 客户端接收到事件。 |
| 5.3.3 | 将 Renew 发送到 SimpleEvent。 当客户端发送事件续订时,他们可以选择手动启动续订,或者在原始 SubscribeResponse 消息中指定的一半续订期已过时自动发送续订。 |
发送到期时间足够长且足以完成步骤 5.3.4 的 RenewResponse。 到期时间的类型必须是 xs:duration。 | 在客户端收到响应,可以转到步骤 5.3.4。 |
| 5.3.4 | 无 | 触发 SimpleEvent。 | 事件在客户端接收。 |
| 5.3.5 | 向 TestDevice 发送针对 SimpleEvent 的取消订阅。 | 发送 UnsubscribeResponse。 | 客户端接收响应,并可以转到步骤 5.3.6。 |
| 5.3.6 | 无 | 触发 SimpleEvent。 | 客户端未收到任何事件。 |