Адрес конечной точки
Адрес конечной точки представляет адрес службы в сети. При открытии каналапутем вызова функции WsOpenChannel необходимо указать адрес конечной точки службы, с которой вы хотите связаться, а также указать канал, с которым вы хотите открыть.
Адрес конечной точки состоит из следующих элементов:
- URL-адрес
- набор заголовков (необязательно)
- набор расширений (необязательно)
- необязательное удостоверение , представляющее удостоверение безопасности службы.
При адресе сообщения URL-адрес становится заголовком "To" сообщения. Все заголовки, которые являются частью адреса конечной точки, также добавляются в сообщение.
Каналы автоматически устраняют все отправленные сообщения, используя структуру WS_ENDPOINT_ADDRESS, переданную WsOpenChannel. Вы также можете использовать функциюWsAddressMessageдля переопределения этого поведения по умолчанию.
При передаче WS_ENDPOINT_ADDRESS в качестве параметра WsOpenChannel и функции WsOpenServicePr oxy создают копию параметра WS_ENDPOINT_ADDRESS в памяти и его размер ограничен 65536 байтами. WsAddressMessage не имеет этого ограничения, так как для этого не требуется создание копии параметра WS_ENDPOINT_ADDRESS.
Расширения, указанные в расширенияхWS_ENDPOINT_ADDRESS, не используются для адресации сообщения, а являются механизмом расширяемости, который можно использовать для предоставления дополнительных сведений (например, метаданных) о службе. Общие расширения можно считывать с помощью функции WsReadEndpointAddressExtension.
Необязательное поле удостоверения адреса конечной точки может включать, например, DNS-имя компьютера, на котором выполняется служба, или имя участника-пользователя учетной записи Windows, в которой выполняется служба. Поле удостоверения не используется для адресации сообщения, но может использоваться для получения маркера безопасности для службы (например, для получения билета Kerberos в целевое имя участника-пользователя) и для проверки удостоверения ответов службы (например, DNS-удостоверение, используемое для проверки имени сертификата службы, возвращаемого во время SSL).
Адреса конечных точек можно считывать и записывать с помощью сериализации со значением перечисления WS_ENDPOINT_ADDRESS_TYPE из WS_TYPE. Чтобы сериализовать адрес конечной точки, необходимо знать версию спецификации, используемой для заголовков адресации, как указано в перечислении WS_ADDRESSING_VERSION.