Partager via


Utilisation d’un hôte et d’un client génériques pour l’échange de métadonnées HTTP

Si le client et l’hôte ne peuvent pas échanger de métadonnées, un hôte et un client génériques peuvent être substitués à l’hôte et au client personnalisés pour aider à résoudre le problème. Si l’adresse du dispositif ou les métadonnées du dispositif n’apparaissent pas dans la sortie du client de débogage WSD, alors les adresses de transport fournies ou l’environnement réseau peuvent être à l’origine de l’échec. Pour plus d’informations sur l’hôte et le client génériques, veuillez consulter la section Outils de débogage.

S’il a été vérifié qu’un hôte et un client génériques peuvent compléter à la fois la découverte WS et l’échange de métadonnées HTTP, alors cette procédure de diagnostic peut être ignorée et le dépannage peut continuer en suivant les procédures de la section Utilisation de la journalisation WinHTTP pour vérifier le trafic Get.

Si l’hôte ou le client est une application fonctionnant sur un PC, l’hôte ou le client générique doit être exécuté dans le même contexte de sécurité que l’hôte ou le client réel. Par exemple, si l’hôte ou le client réel s’exécute en tant qu’administrateur, alors l’hôte ou le client générique doit s’exécuter en tant qu’administrateur. De plus, si l’hôte ou le client est un dispositif autonome, il doit être complètement remplacé par un PC exécutant un hôte ou un client générique dans un contexte de sécurité garantissant un accès réseau illimité (par exemple, en tant qu’administrateur).

Pour utiliser un hôte et un client génériques pour résoudre les problèmes d’échange de métadonnées HTTP

  1. Ouvrir une fenêtre d’invite de commandes.

  2. Exécutez la commande suivante : WSDDebug_host.exe /mode metadata /start

    Remarque

    Une boîte de dialogue Alerte de sécurité Windows peut apparaître. Le cas échéant, cliquez sur Débloquer pour permettre l’exécution de l’hôte de débogage WSD.

     

    Cette commande génère une sortie similaire à la suivante. Notez l’ID du dispositif.

    WSDAPI Debug Host
    Copyright (C) Microsoft Corporation 2007.  All rights reserved.
    Device ID is urn:uuid:37f86d35-e6ac-4241-964f-1d9ae46fb366
    Host metadata>
    
  3. Exécutez la commande suivante : WSDDebug_client.exe /mode metadata /hello off /resolve <id>. Remplacez <id> par l’ID du dispositif identifié à l’étape 2.

    Remarque

    Une boîte de dialogue Alerte de sécurité Windows peut apparaître. Le cas échéant, cliquez sur Débloquer pour permettre l’exécution du client de débogage WSD.

     

Le client de débogage WSD génère une sortie similaire à la suivante.

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>

Le client de débogage WSD peut générer beaucoup de sorties sur un réseau avec de nombreux dispositifs DPWS. La sortie peut être redirigée vers un fichier pour une analyse plus facile. Tapez log tee <nom_fichier> à l’invite du client de débogage WSD pour rediriger la sortie vers un fichier. La redirection de la sortie peut être arrêtée en tapant log tee stop à l’invite du client de débogage WSD.

Notez l’adresse de référence de point de terminaison (EPR). Cette adresse EPR doit correspondre à l’ID du dispositif identifié à l’étape 2 ci-dessus. Vérifiez également que le client de débogage WSD a complètement imprimé les métadonnées du dispositif. Les métadonnées du dispositif commencent par Metadata for host et se terminent par End of metadata.

Si l’ID du dispositif et les métadonnées du dispositif apparaissent correctement dans la sortie du client de débogage WSD, alors l’échec de l’application n’est probablement pas lié aux adresses de transport fournies, au système d’exploitation ou à l’environnement réseau. Remplacez l’hôte et le client génériques par l’hôte et le client personnalisés, et continuez le dépannage en suivant les procédures de la section Utilisation de la journalisation WinHTTP pour vérifier le trafic Get.

Si l’adresse du dispositif et les métadonnées du dispositif n’apparaissent pas dans la sortie du client de débogage WSD, alors l’échec peut avoir une ou plusieurs des causes suivantes :

  • L’adresse de transport annoncée par l’hôte est incorrecte ou malformée. Le client de débogage WSD tente d’obtenir les métadonnées du dispositif à partir de l’URL fournie dans l’élément XAddrs d’un message ProbeMatches ou ResolveMatches. L’URL utilisée pour l’échange de métadonnées apparaît dans la sortie du client de débogage WSD, précédée par la phrase Using xAddr. L’exemple suivant montre les XAddrs utilisés pour l’échange de métadonnées dans la sortie du client de débogage WSD ci-dessus.

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

    Si les XAddrs fournis ne sont pas conformes aux règles de validation XAddr, alors le client de débogage WSD ne peut pas obtenir les métadonnées du dispositif.

  • L’application s’exécute dans le mauvais contexte de sécurité. Vérifiez que l’application utilise les bons identifiants et que le client et l’hôte ont des autorisations suffisantes pour accéder au réseau.

  • La configuration du pare-feu est incorrecte. Suivez les instructions de la section Inspection des paramètres de l’adaptateur et du pare-feu pour vérifier que les paramètres du pare-feu Windows sont corrects et qu’il n’y a pas d’autres règles bloquant les paquets. Le client et l’hôte peuvent également être copiés sur une machine « vierge » (une machine avec une installation par défaut du système d’exploitation qui n’a jamais été jointe à un domaine) afin de tenter de reproduire l’échec.

  • Une politique IPSec bloque l’application. Copiez le client et l’hôte sur une machine qui n’est pas soumise à des politiques IPSec et essayez de reproduire l’échec.

Procédures de diagnostic WSDAPI

Premiers pas avec le dépannage WSDAPI