WS-Discovery では、次のタスクを実行する方法について説明します。
- ローカル サブネット上のサービスの可用性を発表する
- サブネット上のサービスを検索する
- 以前に参照されたサービスを見つける
これを実現するために、WS-Discovery では、Hello とByeの 2 つの一方向メッセージと、Probe と Resolveという 2 つの双方向検索メッセージを定義します。
WS-Discovery には、IPv4 および IPv6 リンク ローカル検出用のアドレスと予約済みポートも用意されています。 また、この仕様では、Web サービス の Devices Profile (DPWS) で定義されている PROBE over HTTP バインディングなど、別の場所で代替バインディングを定義することもできます。
WS-Discovery 仕様では、特定の実装の推奨事項または制限で MAY または SHOULD という用語を使用して選択機能について説明します。 省略された機能は、WSDAPI によって実装されなかった WS-Discovery 仕様で REQUIRED として記述された機能、または WSDAPI が、WS-Discovery 仕様で指定されたメソッドの他のメソッドで実装される機能である場合があります。
このトピックでは、WSDAPI 実装によって WS-Discovery の制限、要件、選択機能がどのように処理されるかについて説明します。 このトピックは、WS-Discovery 仕様と並行して読むのが最適です。
WS-Discovery と SOAP over-UDP のサポート
SOAP over-UDP では、セクション 3.2 では、UDP メッセージが 64K データグラムに収まる必要があることを指定します。 WSDAPI は 64K UDP メッセージを受け入れますが、MAX_ENVELOPE_SIZE (32K) の DPWS 制約によってメッセージ サイズが制限されます。 WS-Discovery 必要に応じて、WSDAPI はセクション 4 で説明するメッセージ パターンをサポートします。
WSDAPI は、セクション 7 および 8 のセキュリティ モデルをサポートするように構成できます。 構成すると、WSDAPI は送信 WS-Discovery メッセージに署名し、受信メッセージの署名を検証します。
WSDAPI は、DPWS 付録 I で修正された付録 I で定義されている再送信アルゴリズムを実装します。
WS-Discovery では、WSDAPI はセクション 2.4 で指定されたアドレスを使用します。 WSDAPI はセクション 2.4 からAPP_MAX_DELAYを拡張しますが、DPWS 付録 I で定義されている範囲には拡張しません。APP_MAX_DELAYの詳細については、「その他の WS-Discovery 機能の」を参照してください。
WS-Discovery セクション 2.6 の uuid:
URI 形式の推奨事項について説明しますが、WSDAPI はこの推奨事項をオーバーライドします。 代わりに、WSDAPI は DPWS で説明されている urn:uuid:
URI 形式を使用します。
WS-Discovery のセクション 3 では、クライアントが探索プロキシと対話する方法について説明します。 WSDAPI はこの相互作用を認識せず、探索プロキシからのアナウンスを無視します。 Windows 7 では、WSDAPI は、WS-Discovery プロトコル WS-Discovery リモート拡張機能にプライベート拡張機能を実装し、探索クライアントが一元化されたプロキシに要求を送信することで、さまざまなネットワークに分散するサービスを検索できるようにします。詳細については、「その他の WS-Discovery 機能」を参照してください。
WS-Discovery のセクション 4.1、段落 3 では、Hello メッセージが送信される前にタイマーが経過する必要があります。 ホスティング API は、Hello メッセージを送信する前に待機しません。 Hello メッセージが送信されるまでに遅延が必要なシナリオの場合、アプリケーション開発者は待機を実装する必要があります。
WSDAPI は、WS-Discovery セクション 4、5、および 6 で説明されているすべてのメッセージを実装します。 WSDAPI は、DPWS 付録 I によって修正されたセクション 7 で説明されているMATCH_TIMEOUTも適用します。WSDAPI は、セクション 9 のセキュリティで保護された考慮事項から "再生" からのみ保護します。
WSDAPI では、付録 I の説明に従って、アプリケーションのシーケンス処理 WS-Discovery 実装します。