Поделиться через


Соответствие спецификации WS-Discovery

WS-Discovery описывает, как выполнять следующие задачи:

  • Объявление о доступности служб в локальной подсети
  • Поиск служб в подсети
  • Поиск ранее упоминаемой службы

Для этого WS-Discovery определяет два односторонних сообщения, Hello и Bye, и два двунаправленных поисковых сообщения: Probe и Resolve.

WS-Discovery также предоставляет адреса и зарезервированный порт для локального обнаружения IPv4- и IPv6-каналов. Спецификация также позволяет определять альтернативные привязки в другом месте, например привязку пробы через HTTP, определенную в профиле устройств для веб-служб (DPWS).

Спецификация WS-Discovery описывает выборную функциональность с использованием терминов MAY или SHOULD в данной рекомендации или ограничении реализации. Пропущенные функциональные возможности могут быть описаны как REQUIRED в спецификации WS-Discovery, которая не была реализована WSDAPI, или это может быть функциональность, реализованная WSDAPI в методе, другом в том, который указан в спецификации WS-Discovery.

В этом разделе описывается, как WS-Discovery ограничения, требования и выбор функций обрабатываются реализацией WSDAPI. Этот раздел лучше всего читать в сочетании со спецификацией WS-Discovery.

поддержка WS-Discovery и soap-over-UDP

В разделе 3.2 в soap-over-UDP указано, что сообщение UDP должно помещаться в датаграмму размером 64 КБ. WSDAPI будет принимать 64K UDP-сообщений, но ограничение DPWS MAX_ENVELOPE_SIZE (32 КБ) ограничивает размер сообщения. В соответствии с требованиями WS-Discovery WSDAPI поддерживает шаблоны сообщений, описанные в разделе 4.

WSDAPI можно настроить для поддержки модели безопасности в разделах 7 и 8. Если это настроено, WSDAPI будет подписывать исходящие WS-Discovery сообщения и проверять подписи во входящих сообщениях.

WSDAPI реализует алгоритм повторной передачи, определенный в Приложении I с изменениями, приведенными в Приложении I к DPWS.

В WS-Discovery WSDAPI использует адреса, указанные в разделе 2.4. WSDAPI расширяет APP_MAX_DELAY из раздела 2.4, но не в той степени, в какой она определена в приложении I к DPWS. Дополнительные сведения о APP_MAX_DELAY см. в разделе Дополнительные функции WS-Discovery.

WS-Discovery описывает рекомендации по формату uuid: URI в разделе 2.6, но WSDAPI переопределяет эту рекомендацию. Вместо этого WSDAPI использует формат URI, описанный urn:uuid: в разделе DPWS.

В разделе 3 WS-Discovery описывается взаимодействие клиента с прокси-сервером обнаружения. WSDAPI не распознает это взаимодействие и игнорирует объявления от прокси-серверов обнаружения. В Windows 7 WSDAPI реализует частное расширение для протокола WS-Discovery, WS-Discovery удаленные расширения, чтобы клиенты обнаружения могли искать службы, распределенные по множеству различных сетей, отправляя запросы централизованным прокси-серверам. Дополнительные сведения см. в разделе Дополнительные функции WS-Discovery.

В разделе 4.1, пункт 3 WS-Discovery требуется, чтобы таймер истек перед отправкой сообщения Hello . API размещения не ожидает отправки сообщения Hello. Если в сценарии требуется задержка перед отправкой сообщения Hello, разработчик приложения должен реализовать ожидание.

WSDAPI реализует все сообщения, описанные в разделах WS-Discovery 4, 5 и 6. WSDAPI также применяет MATCH_TIMEOUT, описанные в разделе 7 с изменениями в приложении I к DPWS. WSDAPI защищает от воспроизведения только из соображений безопасности, описанных в разделе 9.

WSDAPI реализует виртуализацию приложений, как описано в WS-Discovery Приложении I.