共用方式為


事件案例

事件案例會測試事件,如 Web 服務的裝置設定檔中所限制, (DPWS)

此案例的目標不是探索託管服務端點。 此案例假設在開始此案例之前,已探索或提供這些端點。

針對這些案例的目的,NotifyTo 和 EndTo 位址格式應該是實體位址,而不是類型 uuid 的虛擬位址:f014e8aa-fc6a-49f5-b862-1e53663a85ff

如需詳細資訊,請參閱 WSDBIT 測試環境中的初始測試裝置安裝圖表。

案例 用戶端動作 伺服器動作 Pass-Fail準則
4.1 事件的訂用帳戶和更新。
4.1.1 訂閱 SimpleEvent with:
- -
wse:Filter == http://schemas.example.org/EventingService/SimpleEventwse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>"
The client can include an expiration of type xs:duration.
傳送 ExpirationResponse,其到期時間足以完成步驟 4.1.2。 到期必須是 xs:duration類型。
在此測試中,伺服器不需要使用與用戶端要求相同的 xs:duration
用戶端會收到回應,並可移至步驟 4.1.2。
4.1.2 Nothing 引發 SimpleEvent。 事件會在用戶端收到。
4.1.3 傳送更新至 SimpleEvent。
當用戶端傳送事件的更新時,他們可以選擇手動起始更新,或在原始 SubscribeResponse 訊息中指定的一半更新期間已經過時自動傳送更新。
傳送 ExpirationResponse,其到期時間足以完成步驟 4.1.4。 到期必須是 xs:duration類型。 回應會在用戶端收到,並可移至步驟 4.1.4。
4.1.4 Nothing 引發 SimpleEvent。 事件會在用戶端收到。
4.1.5 傳送取消訂閱至 SimpleEvent 的 TestDevice。 傳送 UnsubscribeResponse。 用戶端會收到回應,並可移至步驟 4.1.6。
4.1.6 Nothing 引發 SimpleEvent。 用戶端上不會收到任何事件。
4.2 到期的訂用帳戶
4.2.1 訂閱具有到期時間的 SimpleEvent:
-
- wse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>"
wse:Filter == http://schemas.example.org/EventingService/SimpleEvent - 到期期間必須夠長,才能完成步驟 4.2.2。 到期必須是 xs:duration
wsdbit_client使用 60 分鐘作為持續時間。
使用下列方式傳送 SubscribeResponse:
- 訂閱要求中傳送的到期日會在 SubscribeResponse 中傳回。
用戶端會收到具有正確到期時間的回應,並可移至步驟 4.2.2。
4.2.2 Nothing 引發 SimpleEvent。 事件會在用戶端接收。
4.2.3 針對其 SimpleEvent 訂用帳戶,傳送到期日為 TestDevice 的更新。 到期期間必須夠長,才能完成步驟 4.2.4。 到期必須是 xs:duration
當用戶端傳送事件的更新時,他們可以選擇手動起始更新,或在原始 SubscribeResponse 訊息中指定的一半更新期間已經過時自動傳送更新。
傳送 RenewResponse 與:
- 在 RenewResponse 中傳回在 Renew 要求中傳送的到期日。
用戶端會收到正確到期的回應,並可移至步驟 4.2.4。
4.2.4 Nothing 引發 SimpleEvent。 事件會在用戶端接收。
4.3 多個事件來源的訂用帳戶、續約和到期日
4.3.1 訂閱 SimpleEvent 與
- -
wse:Filter == http://schemas.example.org/EventingService/SimpleEventwse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>"
用戶端可以選擇包含xs:duration類型的到期日。
傳送 ExpirationResponse,其到期時間足以完成步驟 4.3.3。 到期必須是 xs:duration 類型。
在此測試中,伺服器不需要使用與用戶端要求相同的 xs:duration
用戶端會收到回應,並可移至步驟 4.3.3。
4.3.2 訂閱 SimpleEvent with:
- -
wse:Filter == http://schemas.example.org/EventingService/IntegerEventwse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>"
The client can choose to include an expiration of type xs:duration.
傳送 ExpirationResponse,其到期時間足以完成步驟 4.3.4。 到期必須是 xs:duration類型。
在此測試中,伺服器不需要使用與用戶端要求相同的 xs:duration
用戶端會收到回應,並可移至步驟 4.3.4。
4.3.3 Nothing 引發 SimpleEvent。 事件會在用戶端接收。
4.3.4 Nothing 引發 IntegerEvent。 事件會在用戶端接收,並顯示正確的整數。
4.3.5 將 Renew 傳送至 IntegerEvent。
當用戶端傳送事件的更新時,他們可以選擇手動起始更新,或在原始 SubscribeResponse 訊息中指定的一半更新期間已經過時自動傳送更新。
傳送 ExpirationResponse,其到期時間足以完成步驟 4.3.8。 到期必須是 xs:duration類型。 回應會在用戶端接收。
4.3.6 傳送取消訂閱至 SimpleEvent 的 TestDevice。 傳送 UnsubscribeResponse。 用戶端會收到回應,並可移至步驟 4.3.7。
4.3.7 Nothing 引發 SimpleEvent。 用戶端上不會收到任何事件。
4.3.8 Nothing 引發 IntegerEvent。 事件會在用戶端接收,並顯示正確的整數。
4.3.9 將 Unsubscribe 傳送至 IntegerEvent 的 TestDevice。 傳送 UnsubscribeResponse。 用戶端會收到回應,並可移至步驟 4.3.10。
4.3.10 Nothing 引發 IntegerEvent。 用戶端不會收到任何事件。
4.4 訂用帳戶失敗和錯誤
4.4.1 使用:訂閱 FaultingEvent:
- wse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>"
- wse:Filter == http://schemas.example.org/EventingService/FaultingEvent
因為不支援此事件,所以必須傳送 wsdp:FilterActionNotSupported SOAP 錯誤。 在用戶端觀察到訂閱失敗。