Использование универсального узла и клиента для Обмена метаданными HTTP

Если клиент и узел не могут обмениваться метаданными, универсальный узел и клиент могут быть заменены пользовательским узлом и клиентом, чтобы помочь устранить проблему. Если адрес устройства или метаданные устройства не отображаются в выходных данных клиента отладки WSD, указанные адреса транспорта или сетевая среда могут вызвать сбой. Дополнительные сведения о универсальном узле и клиенте см. в разделе "Средства отладки".

Если подтверждено, что универсальный узел и клиент могут завершить и обмен метаданными WS-Discovery, и HTTP, то эту диагностическую процедуру можно пропустить и продолжить устранение неполадок, следуя процедурам, описанным в разделе "Использование ведения журнала WinHTTP для проверки поступающего трафика".

Если узел или клиент — это приложение, работающее на компьютере, универсальный узел или клиент должны выполняться в том же контексте безопасности, что и фактический узел или клиент. Например, если хост или клиент выполняется через учетную запись администратора, то универсальный хост или клиент также должны выполняться через учетную запись администратора. Кроме того, если узел или клиент является автономным устройством, оно должно быть полностью заменено компьютером под управлением универсального узла или клиента в контексте безопасности, который гарантирует неограниченный сетевой доступ (например, запуск от имени администратора).

Использование универсального узла и клиента для устранения неполадок обмена метаданными HTTP

  1. Откройте окно командной строки.

  2. Выполните следующую команду: WSDDebug_host.exe /mode metadata /start

    Примечание.

    Может появиться диалоговое окно предупреждения безопасности Windows. В этом случае нажмите кнопку "Разблокировать ", чтобы разрешить запуск узла отладки WSD.

     

    Эта команда создает выходные данные, аналогичные приведенному ниже. Запишите идентификатор устройства.

    WSDAPI Debug Host
    Copyright (C) Microsoft Corporation 2007.  All rights reserved.
    Device ID is urn:uuid:37f86d35-e6ac-4241-964f-1d9ae46fb366
    Host metadata>
    
  3. Выполните следующую команду: WSDDebug_client.exe /mode metadata /hello off /resolve<id>. Замените <идентификатор идентификатором> устройства, указанным на шаге 2.

    Примечание.

    Может появиться диалоговое окно оповещения безопасности 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. Выходные данные можно перенаправить в файл для упрощения анализа. Введите log tee<filename> в строке приглашения клиента отладки WSD, чтобы перенаправить выходные данные в файл. Остановить перенаправление выходных данных можно, введя log tee stop на запросе командной строки отладочного клиента WSD.

Запишите адрес ссылки на конечную точку (EPR). Этот адрес EPR должен соответствовать идентификатору устройства, указанному на шаге 2 выше. Кроме того, убедитесь, что клиент отладки WSD полностью распечатал метаданные для устройства. Метаданные устройства начинаются с Metadata for host и заканчиваются End of metadata.

Если идентификатор устройства и метаданные устройства отображаются правильно в выходных данных клиента отладки WSD, то сбой приложения, скорее всего, не связан с предоставленными адресами транспорта, операционной системой или сетевой средой. Замените универсальный узел и клиент пользовательским узлом и клиентом и продолжайте устранять неполадки, выполнив процедуры, описанные в разделе "Использование ведения журнала WinHTTP для проверки трафика".

Если адрес устройства и метаданные устройства не отображаются в выходных данных клиента отладки WSD, то сбой может привести к одной или нескольким из следующих причин:

  • Рекламируемый узлом адрес транспорта является неправильным или искаженным. Клиент отладки WSD пытается получить метаданные устройства из URL-адреса, предоставленного в элементе XAddrs сообщения ProbeMatches или ResolveMatches. URL-адрес, используемый для обмена метаданными, отображается в выходных данных клиента отладки WSD, префиксируемых фразой Using xAddr. В следующем примере показаны XAddrs, используемые для обмена метаданными в приведённых выше результатах клиента отладки WSD.

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

    Если указанные XAddrs не соответствуют правилам проверки XAddr, то клиент отладки WSD не может получить метаданные устройства.

  • Приложение выполняется в неправильном контексте безопасности. Убедитесь, что приложение использует правильные учетные данные, а клиент и сервер имеют достаточные права доступа к сети.

  • Конфигурация брандмауэра неправильная. Следуйте инструкциям в разделе "Проверка параметров адаптера и брандмауэра", чтобы убедиться, что параметры брандмауэра Windows верны и что другие правила не удаляют пакеты. Клиент и хост также можно скопировать на нетронутый компьютер (компьютер с установкой операционной системы по умолчанию, который никогда не был присоединен к домену), чтобы попытаться воспроизвести ошибку.

  • Политика IPSec блокирует приложение. Скопируйте клиента и хоста на компьютер, который не подчиняется политикам IPSec, и попытайтесь воспроизвести сбой.

Процедуры диагностики WSDAPI

Начало работы с устранением неполадок WSDAPI