セキュリティで保護された通信のシナリオ
セキュリティで保護された通信シナリオでは、セキュリティで保護されたチャネルを使用して、検出、メタデータ交換、イベントをテストします。
これらのシナリオを試みる前に、デバイスとサービスの検査とイベントのシナリオが 正常に完了している必要があります。
一般的な WSDAPI 仕様コンプライアンスの詳細については、WSDAPI 仕様のコンプライアンスに関するページをご参照ください。
ケース | クライアント側の処理 | サーバー側の処理 | 合否の条件 |
---|---|---|---|
5.1 | セキュリティで保護されたデバイスの呼び出しプローブ | ||
5.1.1 | ワイルドカード Probe を と送信する - 既定の一致規則を使用する。 - 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 に Resolve を送信します。 | 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 | Host、HostedService、EndpointReference を表示します。 | なし | 送信された内容に対応します。 クライアント出力の例については、「サンプル メタデータ応答出力」をご参照ください。 |
5.2 | セキュリティで保護されたデバイスにプローブを転送する | ||
5.2.1 | ワイルドカード Probe を 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 | SimpleEventに更新を送信する。 クライアントがイベントの更新を送信する場合、更新を手動で開始するか、元の SubscribeResponse メッセージで指定された更新期間の半分が経過したときに更新を自動的に送信するかを選択できます。 |
手順 5.3.4 を完了するのに十分な時間の有効期限を持つ RenewResponse を送信します。 有効期限は xs:duration型である必要があります。 | 応答はクライアントで受信され、手順 5.3.4 に進むことができます。 |
5.3.4 | なし | SimpleEvent を起動します。 | イベントはクライアントで受信されます。 |
5.3.5 | SimpleEvent の TestDevice にサブスクライブ解除を送信します。 | UnsubscribeResponse を送信します。 | クライアントは応答を受信し、手順 5.3.6 に進むことができます。 |
5.3.6 | なし | SimpleEvent を起動します。 | イベントはクライアントで受信されません。 |