Compartir a través de


Uso de un host genérico y un cliente para el intercambio de metadatos HTTP

Si el cliente y el host no pueden intercambiar metadatos, se puede sustituir un host genérico y un cliente por el host y el cliente personalizados para ayudar a solucionar el problema. Si la dirección del dispositivo o los metadatos del dispositivo no aparecen en la salida del cliente de depuración de WSD, las direcciones de transporte proporcionadas o el entorno de red pueden estar causando el error. Para obtener más información sobre el host y el cliente genéricos, vea Herramientas de depuración.

Si se ha comprobado que un host genérico y un cliente pueden completar tanto WS-Discovery como intercambio de metadatos HTTP, este procedimiento de diagnóstico se puede omitir y la solución de problemas puede continuar siguiendo los procedimientos descritos en Uso del registro winHTTP para comprobar obtener tráfico.

Si el host o el cliente es una aplicación que se ejecuta en un equipo, el host genérico o el cliente deben ejecutarse en el mismo contexto de seguridad que el host o el cliente reales. Por ejemplo, si el host o el cliente reales se ejecutan como administrador, el host genérico o el cliente deben ejecutarse como administrador. Además, si el host o el cliente es un dispositivo independiente, debe reemplazarse por completo por un equipo que ejecuta un host genérico o un cliente en un contexto de seguridad que garantiza acceso ilimitado a la red (por ejemplo, en ejecución como administrador).

Para usar un host genérico y un cliente para solucionar problemas de intercambio de metadatos HTTP

  1. Abra una ventana de símbolo del sistema.

  2. Ejecute el siguiente comando: WSDDebug_host.exe /mode metadata /start

    Nota

    Puede aparecer un cuadro de diálogo alerta Seguridad de Windows. Si es así, haga clic en Desbloquear para permitir que se ejecute el host de depuración de WSD.

     

    Este comando genera una salida similar a la siguiente. Anote el identificador del dispositivo.

    WSDAPI Debug Host
    Copyright (C) Microsoft Corporation 2007.  All rights reserved.
    Device ID is urn:uuid:37f86d35-e6ac-4241-964f-1d9ae46fb366
    Host metadata>
    
  3. Ejecute el siguiente comando: WSDDebug_client.exe metadatos /mode /hello off /resolve<id>. Reemplace <id por el identificador> de dispositivo identificado en el paso 2.

    Nota

    Puede aparecer un cuadro de diálogo alerta Seguridad de Windows. Si es así, haga clic en Desbloquear para permitir que se ejecute el cliente de depuración de WSD.

     

El cliente de depuración de WSD genera una salida similar a la siguiente.

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>

El cliente de depuración de WSD puede generar una gran cantidad de resultados en una red con muchos dispositivos DPWS. La salida se puede redirigir a un archivo para facilitar el análisis. Escriba nombre de archivo> de registro< en el símbolo del sistema del cliente de depuración de WSD para redirigir la salida a un archivo. El redireccionamiento de salida se puede detener escribiendo la posición de registro en el símbolo del cliente de depuración de WSD.

Anote la dirección de referencia del punto de conexión (EPR). Esta dirección EPR debe coincidir con el identificador de dispositivo identificado en el paso 2 anterior. Además, compruebe que el cliente de depuración de WSD imprima completamente los metadatos del dispositivo. Los metadatos del dispositivo comienzan por Metadata for host y terminan con End of metadata.

Si el identificador de dispositivo y los metadatos del dispositivo aparecen correctamente en la salida del cliente de depuración de WSD, es probable que el error de la aplicación no esté relacionado con las direcciones de transporte proporcionadas, el sistema operativo o el entorno de red. Reemplace el host y el cliente genéricos por el host y el cliente personalizados y siga los procedimientos descritos en Uso del registro winHTTP para comprobar obtener tráfico.

Si la dirección del dispositivo y los metadatos del dispositivo no aparecen en la salida del cliente de depuración de WSD, el error podría tener una o varias de las siguientes causas:

  • La dirección de transporte anunciada por el host es incorrecta o tiene un formato incorrecto. WSD Debug Client intenta obtener los metadatos del dispositivo de la dirección URL proporcionada en el elemento XAddrs de un mensaje ProbeMatches o ResolveMatches . La dirección URL usada para el intercambio de metadatos aparece en la salida del cliente de depuración de WSD, prefijo por la frase Using xAddr. En el ejemplo siguiente se muestran los XAddrs usados para el intercambio de metadatos en la salida del cliente de depuración de WSD anterior.

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

    Si los XAddr proporcionados no se ajustan a las reglas de validación de XAddr, el cliente de depuración de WSD no puede obtener los metadatos del dispositivo.

  • La aplicación se está ejecutando en el contexto de seguridad incorrecto. Compruebe que la aplicación usa las credenciales correctas y que el cliente y el host tienen permiso suficiente para acceder a la red.

  • La configuración del firewall es incorrecta. Siga las instrucciones de Inspección del adaptador y la configuración del firewall para comprobar que la configuración del Firewall de Windows es correcta y que no hay otras reglas que quitan los paquetes. El cliente y el host también se pueden copiar en una máquina "prístina" (una con una instalación de sistema operativo predeterminada que nunca se ha unido a un dominio) para intentar reproducir el error.

  • Una directiva IPSec está bloqueando la aplicación. Copie el cliente y el host en una máquina que no esté sujeta a directivas IPSec e intente reproducir el error.

Procedimientos de diagnóstico de WSDAPI

solución de problemas de Introducción con WSDAPI