соответствие спецификациям WS-Discovery
WS-Discovery описывает выполнение следующих задач:
- Сообщите о доступности служб в локальной подсети
- Поиск служб в подсети
- Поиск ранее указанной службы
Для этого WS-Discovery определяются два одностороннего сообщения, Hello и Bye, а также два двунаправленных поисковых сообщения, Проба и Разрешить.
WS-Discovery также предоставляет адреса и зарезервированный порт для локального обнаружения IPv4 и IPv6. Спецификация также позволяет определять альтернативные привязки в другом месте, например пробу по протоколу HTTP, определенную в профиле устройств для веб-служб (DPWS).
Спецификация WS-Discovery описывает выборную функциональность с помощью условий MAY или SHOULD в заданной рекомендации или ограничении реализации. Опущенные функции могут быть функциональными возможностями, описанными как ОБЯЗАТЕЛЬНЫе в спецификации WS-Discovery, которая не реализована WSDAPI, или это может быть функциональность, реализованная WSDAPI в методе, другом в одном из указанных в спецификации WS-Discovery.
В этом разделе описывается, как WS-Discovery ограничения, требования и выборные функции обрабатываются реализацией WSDAPI. Этот раздел лучше всего читать в тандеме с спецификацией WS-Discovery.
поддержка WS-Discovery и soap-over-UDP
В протоколе SOAP-over-UDP раздел 3.2 указывает, что сообщение UDP должно соответствовать 64K диаграмме данных. WSDAPI примет 64K сообщения UDP, но ограничение DPWS MAX_ENVELOPE_SIZE (32K) будет ограничивать размер сообщения. По мере необходимости WS-DiscoveryWSDAPI поддерживает шаблоны сообщений, описанные в разделе 4.
WSDAPI можно настроить для поддержки модели безопасности в разделах 7 и 8. При настройке WSDAPI выведет исходящие WS-Discovery сообщения и проверяет подписи в входящих сообщениях.
WSDAPI реализует алгоритм повторной передачи, определенный в приложении I, измененном приложением DPWS.
В WS-Discovery WSDAPI использует адреса, указанные в разделе 2.4. WSDAPI расширяет APP_MAX_DELAY из раздела 2.4, но не до степени, как определено в приложении I DPWS. Дополнительные сведения о APP_MAX_DELAY см. в разделе Дополнительные WS-Discovery функции.
WS-Discovery описывает рекомендацию по формату URI uuid:
в разделе 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 в соответствии с приложением DPWS I. WSDAPI, защищает только от "воспроизведения" из безопасных соображений в разделе 9.
WSDAPI реализует последовательности приложений, как описано в WS-Discovery приложении I.