事件案例
事件案例會測試事件,如 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/SimpleEvent wse: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/SimpleEvent wse: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/IntegerEvent wse: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 錯誤。 | 在用戶端觀察到訂閱失敗。 |