Сведения о веб-службах на устройствах

API веб-службы на устройствах (WSDAPI) — это реализация профиля устройств для веб-служб (DPWS) для Windows Vista и Windows Server 2008. DPWS ограничивает спецификации веб-служб, чтобы клиенты могли легко обнаруживать устройства. После обнаружения устройства клиент может получить описание служб, размещенных на этом устройстве, и использовать эти службы.

Устройства и службы

Устройства — это компоненты, обычно аппаратные, которые подключены к сети. К примерам относятся принтеры, веб-камеры и видеосистемы.

Устройства могут содержать ноль или больше служб. Например, видеоустройство может включать в себя службы, поддерживающие включение и выключение питания, управление воспроизведением, извлечение мультимедиа и потоковую передачу видео. Элемент управления воспроизведением может поддерживать такие действия, как воспроизведение, приостановка, перемотка и перемотка вперед.

Обнаружение устройства и управление ими

WSDAPI расширяет модель локального Plug and Play, позволяя клиенту обнаруживать удаленное устройство и связанные с ним службы по сети и получать доступ к ним. Он поддерживает обнаружение, односторонний и двусторонний контроль обмена сообщениями, а также события.

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

Устройства DPWS объявляют о своем присутствии и предоставляют службы (если таковые есть) с помощью уникального адреса и стандартизированного набора XML-сообщений. Клиенты DPWS могут использовать процесс обнаружения для поиска устройства, перечисления его служб и подключения к этим службам для выполнения определенных действий.

Клиент WSDAPI сначала запрашивает у устройства полное описание служб, включая типы служб (например, тип службы принтера или тип службы сканера). Затем клиент управляет устройством, вызывая команды, определенные типом службы (например, путем вызова CreatePrintJob на устройстве с типом службы принтера). При необходимости клиент также может отслеживать изменения состояния в каждой службе, подписавшись на события, происходящие во время выполнения команды.

Схема, показывающая, как клиент WSDAPI запрашивает устройство и взаимодействует с ним.

Дополнительные сведения о шаблонах обмена сообщениями на устройствах см. в разделе Шаблоны сообщений обнаружения и обмена метаданными.

Логическая и физическая адресация

Логическая адресация используется для уникальной идентификации устройств независимо от их физических адресов. WS-Discovery предоставляет механизм для разрешения логических адресов в физические адреса, что позволяет осуществлять обмен сообщениями между клиентом и устройством. Например, сетевое хранилище (NAS), которое вы носите с собой. Если у вас есть ноутбук и NAS, ноутбук должен быть в состоянии распознать, что это одно и то же устройство, независимо от физического адреса (IP-адреса), который NAS получает при перемещении между подсетями. Для этого требуется, чтобы у устройства было удостоверение, которое не зависит от получаемого IP-адреса; Поскольку традиционные механизмы, такие как DNS, недоступны в обычном сценарии перемещения, WS-Addressing и WS-Discovery обеспечивают логическое адресирование и разрешение в качестве альтернативы.

При изготовлении устройства ему присваивается глобальный уникальный идентификатор, представленный в виде URI UUID. Этот идентификатор никогда не изменится для устройства. Если устройство включено, оно всегда будет объявлять свой логический адрес через сообщение WS-Discovery Hello и будет принимать запросы на преобразование этого адреса в физический адрес (обычно HTTP) через сообщения WS-Discovery разрешения или пробы . После получения допустимого физического адреса (IP-адреса) весь обмен сообщениями происходит по его адресу, и WS-Discovery используется только в том случае, если адрес изменится, состояние устройства изменится и клиенты должны быть уведомлены, или устройство переходит в автономный режим.

Создание приложений

WSDAPI предоставляет универсальный стек SOAP DPWS для использования клиентскими приложениями и приложениями-службами. Генератор кода веб-служб на устройствах (WsdCodeGen.exe) можно использовать для преобразования описания службы (WSDL) в код прокси-сервера и заглушки, который приложения могут вызывать напрямую. Созданный код автоматически преобразует вызовы функций и параметры в сообщения SOAP и XML-поля, а затем вызывает WSDAPI для отправки запросов к удаленному устройству или клиенту.

Обнаружение функций можно использовать при создании приложений WSDAPI для создания и активации экземпляров функций, возвращаемых PnP. Эти экземпляры функций содержат данные, которые можно использовать для получения дополнительных сведений с помощью API-интерфейсов PnP, если требуется не просто простое обнаружение. Дополнительные сведения см. в разделах Обнаружение функций и PnP-X.

Шаблоны сообщений обнаружения и обмена метаданными

Соответствие спецификации WSDAPI

Обзор интерфейсов WSDAPI