WSDAPI のトラブルシューティングを使用したはじめに
このトラブルシューティング ガイドには、アプリケーションの問題の原因を特定するのに役立つ一連の 診断手順 が含まれています。 問題の原因が正常に特定されたら、問題を解決するために診断手順で推奨される解決策を適用できます。
使用する診断手順を決定するには、2 つの方法があります。 1 つの方法は、クライアントの種類のトラブルシューティング ページに移動して、クライアントのトラブルシューティングに使用する診断手順の詳細な一覧を表示することです。 もう 1 つの方法は、以下のトラブルシューティングのクイック リファレンスにアクセスして、WSDAPI アプリケーションに関する一般的な問題と、問題の診断に使用する手順を示す概要テーブルを表示することです。
クライアントの種類別のトラブルシューティング
次のトピックでは、クライアントの種類別に関連する診断手順を示します。 これらのトピックでは、クライアントの種類に関連付けられているメッセージ パターンも示します。
- ダイレクト検出を使用した WSDAPI アプリケーションのトラブルシューティング
- 関数検出クライアントのトラブルシューティング
- 近くのPeopleのトラブルシューティング/近くの会議
- プリンターの追加ウィザードのトラブルシューティング
- ネットワーク エクスプローラーのトラブルシューティング
- プロジェクター ウィザードのトラブルシューティング
- その他の WSDAPI アプリケーションのトラブルシューティング
クイック リファレンスのトラブルシューティング
次の表は、WSDAPI クライアントとホストがネットワーク上で相互に見え合い、デバイス メタデータを交換するのを妨げる可能性があるいくつかの問題を示しています。 表には、実行する診断手順と、アプリケーションが特定の問題に苦しんでいるかどうかを評価するために使用する条件も示されています。
ネットワーク環境の問題
問題 | 診断手順 | 問題の特定 |
---|---|---|
ファイアウォールはネットワーク探索トラフィックをブロックします。 | アダプターとファイアウォールの設定の検査 | ファイアウォールでネットワーク探索例外を有効にすると、問題が解決します。 |
アプリケーションに固有のファイアウォール例外がメッセージをブロックしています。 | アダプターとファイアウォールの設定の検査 | ファイアウォールを無効にすると、問題が解決します。 WF.msc には、アプリケーション固有のファイアウォール規則が表示されます。 |
デバイスは、 ProbeMatches または ResolveMatches メッセージをタイムリーに (4 秒未満) 送信して UDP 要求に応答しません。 | アダプターとファイアウォールの設定の検査 | ファイアウォールを無効にすると問題が解決し、4 秒未満で応答する汎用ホストは正常に動作します。 |
アプリケーションのセキュリティ コンテキストが正しくありません (つまり、クライアントとホストにネットワークに対する適切なアクセス許可がありません)。 | UDP WS-Discovery に汎用ホストとクライアントを使用する、または HTTP メタデータ交換に汎用ホストとクライアントを使用する | デバイス アドレスは、WSD デバッグ クライアント出力には表示されません。 管理者としてアプリケーションを実行すると、問題が解決します。 |
IPSec ポリシーがメッセージをブロックしています。 | UDP WS-Discovery に汎用ホストとクライアントを使用する、または HTTP メタデータ交換に汎用ホストとクライアントを使用する | デバイス アドレスは、WSD デバッグ クライアント出力には表示されません。 この問題は、ファイアウォールを無効にしても解決されません。 この問題は、IPSec ポリシーの対象ではないマシンでは再現できません。 |
トラフィックの検出に関する問題
問題 | 診断手順 | 問題の識別 |
---|---|---|
Hello、 Probe、または Resolve メッセージは、アプリケーションがマルチキャスト ネットワーク インターフェイスを正しく列挙しないため、ネットワーク上で送信されません。 | WSD デバッグ クライアントを使用したマルチキャスト トラフィックの検証 | Hello、Probe、または Resolve メッセージは WSD デバッグ クライアント出力に表示されません。 パケットはネットワークに表示されません。 パケットはループバック インターフェイスまたは他のインターフェイスのために生成されません。 |
プローブ メッセージは UDP マルチキャストによってポート 3702 に送信されません (ダイレクト検出を使用していないアプリケーションの場合)。 | UDP WS-Discovery のネットワーク トレースの検査 | メッセージの検査は、メッセージが間違ったポートに送信されたことを示しています。 |
Probe メッセージに Types 要素が含まれていないか、Types 要素が空です。 | UDP WS-Discovery のネットワーク トレース の検査または ダイレクト探索を使用したアプリケーションのネットワーク トレースの検査 | メッセージの検査は、 Types 要素が存在しないか空ではないことを示しています。 |
Probe メッセージの Types 要素には、ホストが応答する型は含まれません。 | UDP WS-Discovery のネットワーク トレース の検査または ダイレクト探索を使用したアプリケーションのネットワーク トレースの検査 | メッセージの検査では、 Types 要素に正しくない値または正しくない値が含まれていることが示されています。 |
ProbeMatches メッセージが、プローブの送信元の UDP ポートにユニキャストで送信されませんでした。 | UDP WS-Discovery のネットワーク トレース の検査または ダイレクト探索を使用したアプリケーションのネットワーク トレースの検査 | 出力の検査は、 ProbeMatches) メッセージが送信されなかったか、メッセージが間違ったポートに送信されたことを示しています。
メモ: ダイレクト検出を使用するアプリケーションの場合、 ProbeMatches は Probeメッセージに 応答して HTTP または HTTPS 経由で送信する必要があります。 |
ProbeMatches メッセージに RelatesTo 要素が含まれていないか、RelatesTo 要素が空です。 | UDP WS-Discovery のネットワーク トレース の検査または ダイレクト探索を使用したアプリケーションのネットワーク トレースの検査 | メッセージの検査は、 RelatesTo 要素が存在しないか空ではないことを示しています。 |
ProbeMatches メッセージの RelatesTo 要素の値が、対応する Probe メッセージの MessageId 要素の値と一致しません。 | UDP WS-Discovery のネットワーク トレース の検査または ダイレクト探索を使用したアプリケーションのネットワーク トレースの検査 | メッセージの検査では、 RelatesTo 要素に正しくない値または正しくない値が含まれていることが示されています。 |
ProbeMatches メッセージに含まれる XAddrs 要素は、XAddr 検証規則に準拠していません。 | UDP WS-Discovery のネットワーク トレース の検査または ダイレクト探索を使用したアプリケーションのネットワーク トレースの検査 | メッセージの検査では、 XAddrs が無効であることが示されます。 |
解決 メッセージは UDP マルチキャストによってポート 3702 に送信されません (ダイレクト検出を使用していないアプリケーションの場合)。 | UDP WS-Discovery のネットワーク トレース の検査または ダイレクト探索を使用したアプリケーションのネットワーク トレースの検査 | 出力の検査は 、解決 メッセージが間違ったポートに送信されたことを示しています。 |
ResolveMatches メッセージは、Resolve メッセージが送信された UDP ポートにユニキャストで送信されませんでした。 | UDP WS-Discovery のネットワーク トレース の検査または ダイレクト探索を使用したアプリケーションのネットワーク トレースの検査 | 出力の検査では、 ResolveMatches メッセージが送信されなかったか、メッセージが間違ったポートに送信されたことが示されます。 |
メタデータ交換の問題
問題 | 診断手順 | 問題の識別 |
---|---|---|
ホストによってアドバタイズされたトランスポート アドレスが間違っています。 | HTTP メタデータ交換に汎用ホストとクライアントを使用する | WSD デバッグ クライアント出力の XAddrs の検査では、トランスポート アドレスが正しくないか、形式が正しくないことが示されています。 |
メタデータ交換のために TCP 接続を確立できませんでした。 | HTTP メタデータ交換のネットワーク トレースの検査 | パケット アナライザーからの出力には、次のパケット交換は表示されません。
|
クライアントが有効な HTTP GET 要求を送信しませんでした。 | HTTP メタデータ交換のネットワーク トレースの検査 | パケット アナライザーの出力に HTTP GET 要求がないか、要求の形式が正しくありません。 |
クライアントが有効な WS-Transfer Get メッセージを送信しませんでした。 | HTTP メタデータ交換のネットワーク トレースの検査 | パケット アナライザーの出力にメッセージ を取得 する WS-Transfer が存在しないか、メッセージの形式が正しくありません。 |
ホストは、HTTP GET 要求で指定された URL パスをリッスンしていません。 | HTTP メタデータ交換のネットワーク トレースの検査 | パケット アナライザーの出力に HTTP 応答はありません。 |
WS-Transfer Get メッセージに To 要素が含まれていないか、 To 要素が空です。 | HTTP メタデータ交換のネットワーク トレースの検査 | メッセージの検査は、To 要素が存在しないか空ではないこと を 示しています。 |
WS-Transfer Get メッセージの To 要素の値が、ホストのエンドポイント アドレスの 1 つと一致しません。 | HTTP メタデータ交換のネットワーク トレースの検査 | メッセージの検査では、 To 要素の値が、ホストの ProbeMatches または ResolveMatches メッセージでアドバタイズされたエンドポイント アドレスの 1 つと一致しないことを示しています。 |
ホストが有効な HTTP 応答ヘッダーを送信しませんでした。 | HTTP メタデータ交換のネットワーク トレースの検査 | パケット アナライザーの出力に HTTP 応答がないか、要求の形式が正しくありません。 |
ホストによって送信される HTTP 応答ヘッダーは、要求を完了できないことを示します。 | HTTP メタデータ交換のネットワーク トレースの検査 | 応答ヘッダーには、HTTP/1.1 200 以外の状態コードがあります。 |
ホストが有効な GetResponse メッセージを送信しませんでした。 | HTTP メタデータ交換のネットワーク トレースの検査 | パケット アナライザーの出力に GetResponse メッセージがないか、メッセージの形式が正しくありません。 |
GetResponse メッセージに RelatesTo 要素が含まれていないか、RelatesTo 要素が空です。 | HTTP メタデータ交換のネットワーク トレースの検査 | メッセージの検査は、 RelatesTo 要素が存在しないか空ではないことを示しています。 |
GetResponse メッセージの RelatesTo 要素の値が、対応する Get メッセージの MessageId 要素の値と一致しません。 | HTTP メタデータ交換のネットワーク トレースの検査 | メッセージの検査は、 RelatesTo 要素に正しくない値または正しくない値が含まれていることを示しています。 |