Uso de un host y un cliente genéricos para Intercambio de metadatos HTTP
Si el cliente y el host no pueden intercambiar metadatos, se puede sustituir el host y el cliente personalizados por un host y un cliente genéricos 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 WSD, entonces las direcciones de transporte suministradas o el entorno de red pueden estar causando el fallo. Para más información sobre el host y el cliente genéricos, véase Herramientas de depuración.
Si se ha verificado que un host y un cliente genéricos pueden completar tanto WS-Discovery como el intercambio de metadatos HTTP, este procedimiento de diagnóstico puede omitirse y la resolución de problemas puede continuar siguiendo los procedimientos de Uso de WinHTTP Logging para verificar el tráfico recibido.
Si el host o el cliente es una aplicación que se ejecuta en un PC, el host o cliente genérico debe ejecutarse en el mismo contexto de seguridad que el host o cliente real. Por ejemplo, si el host o cliente real se ejecuta como Administrador, entonces el host o cliente genérico debe ejecutarse como Administrador. Además, si el host o el cliente es un dispositivo autónomo, debe sustituirse completamente por un PC que ejecute un host o cliente genérico en un contexto de seguridad que garantice un acceso ilimitado a la red (por ejemplo, ejecutándose como Administrador).
Para utilizar un host y un cliente genéricos para solucionar problemas de HTTP intercambio de metadatos
Abra una ventana de símbolo del sistema.
Ejecute el siguiente comando: WSDDebug_host.exe /mode metadata /start
Nota:
Puede Windows Security Alert aparecer un cuadro de diálogo. Si es así desbloquee para permitir que el WSD Debug Host se ejecute.
Este comando genera una salida similar a la siguiente. Anota el ID 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>
Ejecute el siguiente comando: WSDDebug_client.exe /mode metadata /hello off /resolve <id>. Reemplace <id> con el ID del dispositivo identificado en el paso 2.
Nota:
Puede Windows Security Alert aparecer un cuadro de diálogo. Si es así desbloquee para permitir que el WSD Debug Client se ejecute.
WSD Debug Client 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 WSD Debug Client puede generar mucha salida en una red con muchos dispositivos DPWS. La salida puede redirigirse a un archivo para facilitar el análisis. Escriba log tee <el nombre del archivo> en el indicador del cliente de depuración WSD para redirigir la salida a un archivo. La redirección de la salida puede detenerse escribiendo log tee stop en el indicador de WSD Debug Client.
Anote la dirección de referencia del punto final (EPR). Esta dirección EPR debe coincidir con el ID del dispositivo identificado en el paso 2 anterior. Además, verifique que el cliente de depuración WSD imprimió completamente los metadatos del dispositivo. Los metadatos del dispositivo empiezan por Metadata for host
y terminan por End of metadata
.
Si el ID del dispositivo y los metadatos del dispositivo aparecen correctamente en la salida del cliente de depuración WSD, es probable que el fallo de la aplicación no esté relacionado con las direcciones de transporte suministradas, el sistema operativo o el entorno de red. Sustituya el host y el cliente genéricos por el host y el cliente personalizados, y continúe con la resolución de problemas siguiendo los procedimientos indicados en WinHTTP Logging para verificar el tráfico recibido.
Si la dirección del dispositivo y los metadatos del dispositivo no aparecen en la salida del cliente de depuración WSD, entonces el fallo podría tener una o más de las siguientes causas:
La dirección de transporte anunciada por el host es incorrecta o está malformada. WSD Debug Client intenta obtener los metadatos del dispositivo desde la URL proporcionada en el archivo XAddrs elemento de un ProbeMatches o ResolveMatches mensaje. La URL utilizada para el intercambio de metadatos aparece en la salida del cliente de depuración WSD, precedida por la frase
Using xAddr
. El siguiente ejemplo muestra las XAddrs utilizadas para el intercambio de metadatos en la salida del cliente de depuración WSD anterior.Using xAddr: https://[::1]:5357/37f86d35-e6ac-4241-964f-1d9ae46fb366
Si los XAddrs suministrados no se ajustan a la directiva reglas de validación XAddr, entonces el WSD Debug Client no puede obtener los metadatos del dispositivo.
La aplicación se está ejecutando en un contexto de seguridad incorrecto. Verificar que la aplicación utiliza las credenciales correctas y que el cliente y el host tienen permisos suficientes para acceder a la red.
La configuración del cortafuegos es incorrecta. Siga las instrucciones de Inspecting Adapter and Firewall Settings para comprobar que la configuración del cortafuegos de Windows es correcta y que no hay otras reglas que rechacen los paquetes. El cliente y el host también se pueden copiar en una máquina "prístina" (una con una instalación del sistema operativo por defecto que nunca se haya unido a un dominio) para intentar reproducir el fallo.
Una política IPSec está bloqueando la aplicación. Copie el cliente y el host en una máquina que no está sujeta a políticas IPSec e intente reproducir el fallo.
Temas relacionados