终结点地址
终结点地址表示网络上服务地址。 打开 通道时,通过调用 WsOpenChannel 函数,需要提供要与之通信的服务的终结点地址,并指定要打开的通道。
终结点地址包括:
处理邮件时,URL 将成为消息的“To”标头。 属于终结点地址的任何标头也会添加到消息中。
通道使用传递到 WsOpenChannel的 WS_ENDPOINT_ADDRESS 结构自动处理发送的任何消息。 还可以使用 WsAddressMessage 函数替代此默认行为。
当WS_ENDPOINT_ADDRESS作为参数传递时,WsOpenChannel 和 WsOpenServiceProxy 函数会在内存中创建 WS_ENDPOINT_ADDRESS 参数的副本,其大小限制为 65536 字节。 WsAddressMessage 没有此限制,因为它不需要创建 WS_ENDPOINT_ADDRESS 参数的副本。
WS_ENDPOINT_ADDRESS 的扩展字段中指定的扩展不用于处理消息,而是一种扩展性机制,可用于 (提供其他信息,例如,有关服务的元数据) 。 可以使用 WsReadEndpointAddressExtension 函数读取常见扩展。
例如,终结点地址的可选标识字段可以包括运行服务的计算机的 DNS 名称,或运行该服务的 Windows 帐户的 UPN。 标识字段不用于对消息进行寻址,但可用于获取服务的安全令牌 (例如,用于获取目标 UPN) 的 Kerberos 票证,以及验证服务答复 (的标识,例如,用于在 SSL) 期间返回的服务证书上进行名称检查的 DNS 标识。
可以使用序列化来读取和写入终结点地址,以及来自 WS_TYPE的 WS_ENDPOINT_ADDRESS_TYPE 枚举值。 请注意,若要序列化终结点地址,必须知道 WS_ADDRESSING_VERSION枚举中指定的 用于寻址标头的规范版本。