Usando um host e um cliente genéricos para troca de metadados HTTP
Se o cliente e o host não puderem trocar metadados, um host e um cliente genéricos poderão ser substituídos pelo host e pelo cliente personalizados para ajudar a solucionar o problema. Se o endereço do dispositivo ou os metadados do dispositivo não aparecerem na saída do Cliente de Depuração do WSD, os endereços de transporte fornecidos ou o ambiente de rede podem estar causando a falha. Para obter mais informações sobre o host e o cliente genéricos, consulte Ferramentas de depuração.
Se tiver sido verificado que um host e um cliente genéricos podem concluir a troca de metadados WS-Discovery e HTTP, esse procedimento de diagnóstico poderá ser ignorado e a solução de problemas poderá ser continuada seguindo os procedimentos em Usando o log WinHTTP para verificar o tráfego de obtenção.
Se o host ou o cliente for um aplicativo em execução em um computador, o host ou cliente genérico deverá ser executado no mesmo contexto de segurança que o host ou cliente real. Por exemplo, se o host ou cliente real for executado como Administrador, o host ou cliente genérico deverá ser executado como Administrador. Além disso, se o host ou o cliente for um dispositivo autônomo, ele deverá ser completamente substituído por um computador que executa um host ou cliente genérico em um contexto de segurança que garanta acesso ilimitado à rede (por exemplo, executando como administrador).
Para usar um host e cliente genéricos para solucionar problemas de troca de metadados HTTP
Abra una janela de prompt de comando.
Execute o seguinte comando: WSDDebug_host.exe /mode metadata /start
Observação
Uma caixa de diálogo Alerta de Segurança do Windows pode aparecer. Em caso afirmativo, clique em Desbloquear para permitir que o Host de Depuração do WSD seja executado.
Esse comando gera um resultado semelhante ao seguinte: Anote a ID do dispositivo.
WSDAPI Debug Host Copyright (C) Microsoft Corporation 2007. All rights reserved. Device ID is urn:uuid:37f86d35-e6ac-4241-964f-1d9ae46fb366 Host metadata>
Execute o seguinte comando: WSDDebug_client.exe /mode metadata /hello off /resolve <id>. Substitua <id> pela ID do dispositivo identificada na etapa 2.
Observação
Uma caixa de diálogo Alerta de Segurança do Windows pode aparecer. Em caso afirmativo, clique em Desbloquear para permitir que o Host de Depuração do WSD seja executado.
O cliente de depuração do WSD gera uma saída semelhante à seguinte.
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>
O cliente de depuração do WSD pode gerar muita saída em uma rede com muitos dispositivos DPWS. A saída pode ser redirecionada para um arquivo para facilitar a análise. Digite log tee <filename> no prompt do cliente de depuração do WSD para redirecionar a saída para um arquivo. O redirecionamento de saída pode ser interrompido digitando log tee stop no prompt do Cliente de Depuração do WSD.
Anote o endereço de referência do ponto de extremidade (EPR). Esse endereço EPR deve corresponder à ID do dispositivo identificada na etapa 2 acima. Além disso, verifique se o cliente de depuração do WSD imprimiu completamente os metadados do dispositivo. Os metadados do dispositivo começam com Metadata for host
e terminam com End of metadata
.
Se a ID do dispositivo e os metadados do dispositivo aparecerem corretamente na saída do Cliente de Depuração do WSD, a falha do aplicativo provavelmente não está relacionada aos endereços de transporte fornecidos, ao sistema operacional ou ao ambiente de rede. Substitua o host e o cliente genéricos pelo host e cliente personalizados e continue a solução de problemas seguindo os procedimentos em Usando o log WinHTTP para verificar o tráfego de obtenção.
Se o endereço do dispositivo e os metadados do dispositivo não aparecerem na saída do Cliente de Depuração do WSD, a falha poderá ter uma ou mais das seguintes causas:
O endereço de transporte anunciado pelo host está incorreto ou malformado. O Cliente de Depuração do WSD tenta obter metadados do dispositivo da URL fornecida no elemento XAddrs de uma mensagem ProbeMatches ou ResolveMatches . A URL usada para troca de metadados aparece na saída do Cliente de Depuração do WSD, prefixada pela frase
Using xAddr
. O exemplo a seguir mostra os XAddrs usados para troca de metadados na saída do Cliente de Depuração WSD acima.Using xAddr: https://[::1]:5357/37f86d35-e6ac-4241-964f-1d9ae46fb366
Se os XAddrs fornecidos não estiverem em conformidade com as regras de validação XAddr, o Cliente de Depuração WSD não poderá obter os metadados do dispositivo.
O aplicativo está sendo executado no contexto de segurança errado. Verifique se o aplicativo está usando as credenciais corretas e se o cliente e o host têm permissão suficiente para acessar a rede.
A configuração do firewall está errada. Siga as instruções em Inspecionando as configurações do adaptador e do firewall para verificar se as configurações do Firewall do Windows estão corretas e se não há outras regras descartando os pacotes. O cliente e o host também podem ser copiados para uma máquina "intocada" (uma com uma instalação padrão do sistema operacional que nunca foi ingressada em um domínio) para tentar reproduzir a falha.
Uma diretiva IPSec está bloqueando o aplicativo. Copie o cliente e o host em uma máquina que não esteja sujeita às diretivas IPSec e tente reproduzir a falha.
Tópicos relacionados