엔드포인트 주소
엔드포인트 주소는 네트워크의 서비스 주소를 나타냅니다. 채널을 열 때 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 함수를 사용하여 일반적인 확장을 읽을 수 있습니다.
엔드포인트 주소의 선택적 ID 필드에는 예를 들어 서비스가 실행 중인 컴퓨터의 DNS 이름 또는 서비스가 실행 중인 Windows 계정의 UPN이 포함될 수 있습니다. ID 필드는 메시지 주소 지정에 사용되지 않지만 서비스에 대한 보안 토큰을 가져오고(예: 대상 UPN에 Kerberos 티켓을 가져오는 경우) 서비스 회신의 ID를 확인하는 데 사용할 수 있습니다(예: SSL 중에 반환된 서비스 인증서에 대한 이름 검사에 사용되는 DNS ID).
엔드포인트 주소는 WS_TYPE WS_ENDPOINT_ADDRESS_TYPE 열거형 값으로 serialization을 사용하여 읽고 쓸 수 있습니다. 엔드포인트 주소를 직렬화하려면 WS_ADDRESSING_VERSION 열거형에 지정된 대로 주소 지정 헤더에 사용되는 사양의 버전을 알고 있어야 합니다.