ダイレクト検出を使用したアプリケーションのネットワーク トレースの検査
生パケットを表示できる任意のネットワーク パケット アナライザーを使用して、HTTP メタデータ交換要求を検査できます。 Microsoft Network Monitor 3 (Netmon) をお勧めします。 Netmon の詳細については、「 Netmon のダウンロード」および「DPWS フィルターのサンプル」を参照してください。
ネットワーク トレースでダイレクト検出を検査するには
ネットワーク経由で実行するようにホストとクライアントを構成します (つまり、ホストとクライアントが異なるマシンで動作することを確認します)。
パケット アナライザー (Netmon) をクライアントまたはホストにインストールします。
ホストとクライアントを接続するネットワーク アダプター上のトラフィックをキャプチャするようにパケット アナライザーを構成します。
ホストとクライアントを起動するか、ネットワーク エクスプローラーで F5 キーを押して、エラーを再現します。
結果をフィルター処理して、WS-Discoveryとメタデータ交換トラフィックを分離します。 サンプル Netmon フィルターを表示するには、「 Netmon フィルターのダウンロード」と「サンプル DPWS フィルター」を参照してください。
Note
この手順は省略可能です。
クライアントとホストの間で送信されるメッセージが基本的なトラフィック要件を満たしていることを確認します。
メッセージがトラフィック要件を満たしていることを確認する
WSDAPI クライアントとホストは、次の条件に準拠するメッセージを送信する必要があります。 メッセージ パターンに関する一般的な情報については、「 検出とメタデータの Exchange メッセージ パターン」を参照してください。
- プローブ メッセージは、HTTP または HTTPS (通常はポート 5357 または 5358) で送信する必要があります。
- Probe メッセージの Types 要素は存在する必要があり、空にすることはできません。 ホストが応答する型を含める必要があります。
- ProbeMatches メッセージは、プローブの送信元の HTTP または HTTPS ポートに送信する必要があります。
- ProbeMatches メッセージの RelatesTo 要素は存在する必要があり、空にすることはできません。 その値は、対応する Probe メッセージの MessageId 要素の値と一致する必要があります。
- ProbeMatches メッセージに XAddrs 要素が含まれている場合は、指定されたトランスポート アドレスを検証する必要があります。 詳細については、「 XAddr 検証規則」を参照してください。
- ProbeMatches メッセージは、対応する Probe メッセージから 4 秒以内に送信する必要があります。 Windows ファイアウォールは、Probe メッセージの 4 秒以上後に送信された ProbeMatches メッセージを削除する場合があります。
- ProbeMatches メッセージに XAddrs 要素が含まれず、クライアントまたはホストが HTTP メッセージ (Get metadata exchange request やサービス メッセージなど) を送信する場合、クライアントまたはホストは HTTP または HTTPS によって Resolve メッセージを送信する必要があります。 このメッセージは通常、ポート 5357 または 5358 に送信されます。
- Resolve メッセージが送信された場合は、ResolveMatches メッセージを、Resolve メッセージの送信先の HTTP または HTTPS ポートに送信する必要があります。
- ResolveMatches メッセージは、対応する Resolve メッセージから 4 秒以内に送信する必要があります。 Windows ファイアウォールは、Resolve メッセージの 4 秒以上後に送信された ResolveMatchesmessage を削除することがあります。
プログラムによって送信されたメッセージがこれらのメッセージ要件に準拠していない場合は、問題の原因が正常に特定され、それ以上のトラブルシューティング手順は必要ありません。 準拠メッセージを生成し、プログラムを再テストするようにプログラムを書き直します。
問題の原因を特定できない場合は、Microsoft サポートにお問い合わせください。 サポートに問い合わせる前に、問題の根本原因を特定するのに役立つ適切なログ ファイルを収集してください。 詳細については、「 WSDAPI トレースの有効化」を参照してください。
関連トピック