次の方法で共有


イベント処理のシナリオ

Eventing シナリオでは、 Web サービスの デバイス プロファイル (DPWS) で制約されているイベントをテストします。

このシナリオの目標は、ホストされるサービス エンドポイントの検出ではありません。 このシナリオでは、このシナリオを開始する前に、これらのエンドポイントが検出または提供されたことを前提としています。

これらのシナリオでは、NotifyTo アドレス形式と EndTo アドレス形式は、 uuid: f014e8aa-fc6a-49f5-b862-1e53663a85ff 型の仮想アドレスではなく物理アドレスである必要があります。

詳細については、「WSDBIT テスト環境」のテスト デバイスの初期セットアップの図を参照してください。

ケース クライアント側の処理 サーバー側の処理 合否の条件
4.1 イベントのサブスクリプションと更新。
4.1.1 次を使用して SimpleEvent をサブスクライブします。
- wse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>"
- wse:Filter == http://schemas.example.org/EventingService/SimpleEvent
クライアントは、タイプ xs:duration型の有効期限を含めることができます。
手順 4.1.2 を完了するのに十分な時間の有効期限を持つ SubscribeResponse を送信します。 有効期限は xs:duration 型である必要があります。
このテストでは、サーバーはクライアントから要求されたのと同じ xs:duration を使用する必要はありません。
クライアントは応答を受信し、手順 4.1.2 に進むことができます。
4.1.2 なし SimpleEvent を起動します。 イベントはクライアントで受信されます。
4.1.3 SimpleEventに更新を送信する。
クライアントがイベントの更新を送信する場合、更新を手動で開始するか、元の SubscribeResponse メッセージで指定された更新期間の半分が経過したときに更新を自動的に送信するかを選択できます。
手順 4.1.4 を完了するのに十分な時間の有効期限を持つ RenewResponse を送信します。 有効期限は xs:duration型である必要があります。 応答はクライアントで受信され、手順 4.1.4 に進むことができます。
4.1.4 なし SimpleEvent を起動します。 イベントはクライアントで受信されます。
4.1.5 SimpleEvent の TestDevice にサブスクライブ解除を送信します。 UnsubscribeResponse を送信します。 クライアントは応答を受信し、手順 4.1.6 に進むことができます。
4.1.6 なし 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 なし SimpleEvent を起動します。 イベントはクライアントで受信されます。
4.2.3 有効期限が切れた更新を SimpleEvent サブスクリプションの TestDevice に送信します。 有効期限は、手順 4.2.4 を完了するのに十分な長さである必要があります。 有効期限は xs:durationである必要があります。
クライアントがイベントの更新を送信する場合、更新を手動で開始するか、元の SubscribeResponse メッセージで指定された更新期間の半分が経過したときに更新を自動的に送信するかを選択できます。
RenewResponse を次の値で送信します
。更新要求で送信された有効期限は RenewResponse で返されます。
クライアントは正しい有効期限で応答を受け取り、手順 4.2.4 に進むことができます。
4.2.4 なし SimpleEvent を起動します。 イベントはクライアントで受信されます。
4.3 複数のイベント ソースのサブスクリプション、更新、有効期限
4.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型の有効期限を含めることができます。
手順 4.3.3 を完了するのに十分な時間の有効期限を持つ SubscribeResponse を送信します。 有効期限は xs:duration 型である必要があります。
このテストでは、サーバーはクライアントから要求されたのと同じ xs:duration を使用する必要はありません。
クライアントは応答を受信し、手順 4.3.3 に進むことができます。
4.3.2 次を使用して SimpleEvent をサブスクライブします。
- wse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>"
- wse:Filter == http://schemas.example.org/EventingService/IntegerEvent
クライアントは、選択して xs:duration型の有効期限を含めることができます。
手順 4.3.4 を完了するのに十分な時間の有効期限を持つ SubscribeResponse を送信します。 有効期限は xs:duration 型である必要があります。
このテストでは、サーバーはクライアントから要求されたのと同じ xs:duration を使用する必要はありません。
クライアントは応答を受信し、手順 4.3.4 に進むことができます。
4.3.3 なし SimpleEvent を起動します。 イベントはクライアントで受信されます。
4.3.4 なし IntegerEvent を起動します。 クライアントでイベントが受信され、正しい整数が表示されます。
4.3.5 IntegerEvent に更新を送信する。
クライアントがイベントの更新を送信する場合、更新を手動で開始するか、元の SubscribeResponse メッセージで指定された更新期間の半分が経過したときに更新を自動的に送信するかを選択できます。
手順 4.3.8 を完了するのに十分な時間の有効期限を持つ RenewResponse を送信します。 有効期限は xs:duration型である必要があります。 応答はクライアントで受信されます。
4.3.6 SimpleEvent の TestDevice にサブスクライブ解除を送信します。 UnsubscribeResponse を送信します。 クライアントは応答を受信し、手順 4.3.7 に進むことができます。
4.3.7 なし SimpleEvent を起動します。 イベントはクライアントで受信されません。
4.3.8 なし IntegerEvent を起動します。 クライアントでイベントが受信され、正しい整数が表示されます。
4.3.9 IntegerEvent の TestDevice にサブスクライブ解除を送信します。 UnsubscribeResponse を送信します。 クライアントは応答を受信し、手順 4.3.10 に進むことができます。
4.3.10 なし 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 Fault を送信する必要があります。 サブスクライブの失敗は、クライアントで観察されます。