デバイスとサービスの検査のシナリオ
デバイスとサービスの検査のシナリオでは、デバイスの検出とその後のデバイスとサービスの検査をテストします。
デバイスとホストされるサービスの基本的な検出に基づいて、残りのシナリオのインフラストラクチャが提供されます。
デバイスは、xs:anyURI testdevice を検出のための wsd:Scopes 要素として使用している必要があります。
次の表で、このシナリオについて説明します。
手順 | クライアント側の処理 | サーバー側の処理 | 合否の条件 |
---|---|---|---|
1.1 | TestDevice boot\shutdown | ||
1.1.1 | なし | TestDevice が起動され、Hello を送信する。 | クライアントで Hello が正しく受信される。 |
1.1.2 | なし | TestDevice がシャットダウンし、Bye を送信する。 | クライアントで Bye が正しく受信される。 wsa:EndpointReference/wsa:Address は、手順 1.1.1 で使用したものと同じである必要があります。 |
1.1.3 | なし | TestDevice が再度起動され、Hello を送信する。 | 1.1.1 と同じメタデータ バージョンで Hello が正しく受信される。 wsa:EndpointReference/wsa:Address は、手順 1.1.1 で使用したものと同じである必要があります。 |
1.2 | TestDevice の Resolve | ||
1.2.1 | Resolve を送信する。 | ResolveMatches で応答する。 | 手順 1.2.2. に進みます。 |
1.2.2 | GetMetadaRequest を TestDevice に送信する。 | GetMetadatResponse で応答する。 | 手順 1.2.3. に進みます。 |
1.2.3 | ThisDevice メタデータを表示する。 | なし | 送信された内容に対応する。 クライアント出力の例については、「サンプル メタデータ応答出力」を参照してください。 |
1.2.4 | ThisModel メタデータを表示する。 | なし | 送信された内容に対応する。 クライアント出力の例については、「サンプル メタデータ応答出力」を参照してください。 |
1.2.5 | Host、HostedService、EndpointReference を表示する。 | なし | 送信された内容に対応する。 クライアント出力の例については、「サンプル メタデータ応答出力」を参照してください。 |
1.2.6 | urn:uuid:00000000-0000-0000-0000-000000000000 の Resolve を送信する (これはデバイスの wsa:EndpointReference/wsa:Address にあります)。 | Nothing。 デバイスは、この wsa:EndpointReference/wsa:Address と一致しないため、応答してはいけません。 | サーバーが ResolveMatches メッセージで応答しない。 |
1.3 | TestDevice の Probe | ||
1.3.1 | ワイルドカード Probe を送信する。 - 既定の一致規則を使用する。 - wsd:Types 要素なし。 - wsd:Scopes 要素なし。 |
ProbeMatches で応答する。 | 手順 1.3.2 (または 1.3.3) に進みます。 |
1.3.2 (省略可能。この手順は、1.3.1 の ProbeMatches で wsd:XAddrs が指定されていない場合にのみ必要です)。 | 1.2.1 の ProbeMatches で指定された wsa:EndpointReference/wsa:Address に Resolve を送信する。 | ResolveMatches で応答する。 | 手順 1.3.3. に進みます。 |
1.3.3 | GetMetadataRequest を TestDevice に送信する。 | GetMetadataResponse で応答する。 | 手順 1.3.4. に進みます。 |
1.3.4 | ThisDevice メタデータを表示する。 | なし | 送信された内容に対応する。 クライアント出力の例については、「サンプル メタデータ応答出力」を参照してください。 |
1.3.5 | ThisModel メタデータを表示する。 | なし | 送信された内容に対応する。 クライアント出力の例については、「サンプル メタデータ応答出力」を参照してください。 |
1.3.6 | Host、HostedService、EndpointReference を表示する。 | なし | 送信された内容に対応する。 クライアント出力の例については、「サンプル メタデータ応答出力」を参照してください。 |
1.3.7 | 次を指定する Probe を送信する。 - 既定の一致規則を使用する。 - 一致させる型: wsdp:Device。 (上記の名前空間の表と、Web サービスのデバイス プロファイルの R1020 を参照してください)。 - wsd:Scopes 要素なし。 |
ProbeMatches で応答する。 | wsa:EndpointReference/wsa:Address の値が手順 1.2.1 の値と同じ。 |
1.3.8 | 次を指定する Probe を送信する。 - Web Services Dynamic Discovery (WS-Discovery) 仕様で定義されている一致規則を使用する。 - wsd:Types 要素なし。 - スコープ testdevice として次を使用する。 |
ProbeMatches で応答する。 | wsa:EndpointReference/wsa:Address の値が手順 1.2.1 の値と同じ。 |
1.3.9 | 次を指定する Probe を送信する。 - Web サービスのデバイス プロファイル一致規則を使用する。 - wsd:Types 要素なし。 - スコープ testDEVICE として次を使用する。 |
Nothing。 このテストは ProbeMatches では応答しません。 | メッセージを受信しない。10 秒待機する。 |
1.3.10 | 次を指定する Probe を送信する。 - 既定の一致規則を使用する。 - 一致させる型として架空の型を使用する。たとえば、 https://example.org/this/wont/work:Device 。- wsd:Scopes 要素なし。 |
Nothing。 このテストは ProbeMatches では応答しません。 | メッセージを受信しない。10 秒待機する。 |
1.4 | 指示プローブ | ||
1.4.1 | ワイルドカード Probe を HTTP 要求として送信する。 - 既定の一致規則を使用する。 - wsd:Types 要素なし。 - wsd:Scopes 要素なし。 - HTTP アドレスが指定されている。 |
HTTP 応答を使用する ProbeMatches で応答する。 | TestDevice の wsa:EndpointReference/wsa:Address が正しいことを確認します。 |
1.5 | 検出なしでメタデータを取得する | ||
1.5.1 | GetMetadataRequest を TestDevice に送信する。 | GetMetadataResponse で応答する。 | 手順 1.5.2. に進みます。 |
1.5.2 | ThisDevice メタデータを表示する。 | なし | 送信された内容に対応する。 クライアント出力の例については、「サンプル メタデータ応答出力」を参照してください。 |
1.5.3 | ThisModel メタデータを表示する。 | なし | 送信された内容に対応する。 クライアント出力の例については、「サンプル メタデータ応答出力」を参照してください。 |
1.5.4 | Host、HostedService、EndpointReference を表示する。 | なし | 送信された内容に対応する。 クライアント出力の例については、「サンプル メタデータ応答出力」を参照してください。 |