次の方法で共有


HTTP メタデータ交換に汎用ホストとクライアントを使用する

クライアントとホストがメタデータを交換できない場合は、問題のトラブルシューティングに役立つ汎用ホストとクライアントをカスタム ホストとクライアントに置き換えることができます。 デバイス アドレスまたはデバイス メタデータが WSD デバッグ クライアント出力に表示されない場合は、指定されたトランスポート アドレスまたはネットワーク環境によってエラーが発生している可能性があります。 汎用ホストとクライアントの詳細については、「 デバッグ ツール」を参照してください。

汎用ホストとクライアントがWS-Discoveryと HTTP メタデータ交換の両方を完了できることを確認済みの場合は、この診断手順をスキップし、「 WinHTTP ログを使用してトラフィックを確認する」の手順に従ってトラブルシューティングを続行できます。

ホストまたはクライアントが PC で実行されているアプリケーションの場合、汎用ホストまたはクライアントは、実際のホストまたはクライアントと同じセキュリティ コンテキストで実行する必要があります。 たとえば、実際のホストまたはクライアントが管理者として実行されている場合、汎用ホストまたはクライアントは管理者として実行する必要があります。 また、ホストまたはクライアントがスタンドアロン デバイスである場合は、無制限のネットワーク アクセスを保証するセキュリティ コンテキストで汎用ホストまたはクライアントを実行している PC に完全に置き換える必要があります (管理者として実行するなど)。

汎用ホストとクライアントを使用して HTTP メタデータ交換のトラブルシューティングを行うには

  1. コマンド プロンプト ウィンドウを開きます。

  2. 次のコマンドを実行します 。 /mode metadata /start をWSDDebug_host.exeします。

    注意

    [アラートのWindows セキュリティ] ダイアログ ボックスが表示される場合があります。 その場合は、[ ブロックの解除 ] をクリックして、WSD デバッグ ホストを実行できるようにします。

     

    このコマンドは、次のような出力を生成します。 デバイス ID を書き留めます。

    WSDAPI Debug Host
    Copyright (C) Microsoft Corporation 2007.  All rights reserved.
    Device ID is urn:uuid:37f86d35-e6ac-4241-964f-1d9ae46fb366
    Host metadata>
    
  3. 次のコマンドを実行します 。 /mode メタデータ /hello off /resolve<id> をWSDDebug_client.exeします。 id は>、手順 2 で識別されたデバイス ID に置き換えます<

    注意

    [アラートのWindows セキュリティ] ダイアログ ボックスが表示される場合があります。 その場合は、[ ブロックの解除 ] をクリックして、WSD デバッグ クライアントの実行を許可します。

     

WSD デバッグ クライアントでは、次のような出力が生成されます。

WSDAPI Debug Client
Copyright (C) Microsoft Corporation 2007.  All rights reserved.
Client ID is urn:uuid:0f571af7-6b0e-4daf-8054-f2233ac27910
Hello mode is disabled
Client metadata>
*****************************************************************************
Add at 02/28/07 15:16:51
+ EPR:
  + Address:                 urn:uuid:37f86d35-e6ac-4241-964f-1d9ae46fb366
+ Types:
    (wsdp) https://schemas.xmlsoap.org/ws/2006/02/devprof:Device
+ XAddrs:
  https://[::1]:5357/37f86d35-e6ac-4241-964f-1d9ae46fb366
+ Metadata version:          2
+ Instance ID:               1
+ Probe/Resolve tag:         WSDAPI debug_client
+ Remote transport address:  [::1]:3702
+ Local transport address:   ::1
+ Local interface GUID:      42133cd4-6a70-11db-bbc9-806e6f6e6963
Client metadata>
*****************************************************************************
Getting metadata for host at 02/28/07 15:16:51:
+ Endpoint reference:
  + Address:
    urn:uuid:37f86d35-e6ac-4241-964f-1d9ae46fb366
Using xAddr: https://[::1]:5357/37f86d35-e6ac-4241-964f-1d9ae46fb366
Client metadata>
*****************************************************************************
Metadata for host:
+ Endpoint reference:
  + Address:           urn:uuid:37f86d35-e6ac-4241-964f-1d9ae46fb366
Metadata section:
  + Dialect:
    https://schemas.xmlsoap.org/ws/2006/02/devprof/ThisDevice
  + Friendly name:
    [no lang]: Debugging Host
  + Firmware version:  1.0
  + Serial number:     00000000
Metadata section:
  + Dialect:
    https://schemas.xmlsoap.org/ws/2006/02/devprof/ThisModel
  + Manufacturer:
    [no lang]: Microsoft Corporation
  + Manufacturer URL:  https://www.microsoft.com/
  + Model names:
    [no lang]: Microsoft Debugging Host
  + Model number:      https://www.microsoft.com/
End of metadata
Client metadata>

WSD デバッグ クライアントは、多くの DPWS デバイスを持つネットワーク上で大量の出力を生成する場合があります。 出力は、分析を容易にするためにファイルにリダイレクトできます。 WSD デバッグ クライアントプロンプトに 「log tee<filename> 」と入力して、出力をファイルにリダイレクトします。 出力リダイレクトは、WSD デバッグ クライアント プロンプトで 「log tee stop 」と入力することで停止できます。

エンドポイント参照 (EPR) アドレスを書き留めます。 この EPR アドレスは、上記の手順 2 で識別されたデバイス ID と一致している必要があります。 また、WSD デバッグ クライアントがデバイスのメタデータを完全に出力したことを確認します。 デバイス メタデータは で Metadata for host 始まり、 で End of metadata終わります。

WSD デバッグ クライアントの出力にデバイス ID とデバイス メタデータが正しく表示される場合、アプリケーションエラーは、指定されたトランスポート アドレス、オペレーティング システム、またはネットワーク環境に関連していない可能性があります。 汎用ホストとクライアントをカスタム ホストとクライアントに置き換え、「 WinHTTP ログを使用してトラフィックを確認する」の手順に従ってトラブルシューティングを続けます。

デバイス アドレスとデバイス メタデータが WSD デバッグ クライアントの出力に表示されない場合、エラーの原因は次の 1 つ以上である可能性があります。

  • ホストによってアドバタイズされたトランスポート アドレスが正しくないか、形式が正しくありません。 WSD デバッグ クライアントは、ProbeMatches または ResolveMatches メッセージの XAddrs 要素で指定された URL からデバイス メタデータを取得しようとします。 メタデータ交換に使用される URL は、WSD デバッグ クライアントの出力に、プレフィックスとして という語句 Using xAddrが付きます。 次の例は、上記の WSD デバッグ クライアント出力のメタデータ交換に使用される XAddrs を示しています。

    Using xAddr: https://[::1]:5357/37f86d35-e6ac-4241-964f-1d9ae46fb366
    

    指定された XAddrs が XAddr 検証規則に準拠していない場合、WSD デバッグ クライアントはデバイスのメタデータを取得できません。

  • アプリケーションが間違ったセキュリティ コンテキストで実行されている。 アプリケーションが正しい資格情報を使用していること、およびクライアントとホストがネットワークにアクセスするための十分なアクセス許可を持っていることを確認します。

  • ファイアウォールの構成が間違っています。 「アダプターとファイアウォールの設定の検査」の手順に従って、Windows ファイアウォールの設定が正しいこと、およびパケットをドロップする他の規則がないことを確認します。 また、クライアントとホストを "手付かずの" マシン (ドメインに参加したことがない既定のオペレーティング システム インストールがあるコンピューター) にコピーして、エラーを再現することもできます。

  • IPSec ポリシーによってアプリケーションがブロックされています。 IPSec ポリシーの対象ではないコンピューターにクライアントとホストをコピーし、エラーの再現を試みます。

WSDAPI 診断手順

WSDAPI のトラブルシューティングを使用したはじめに