메시지(Windows 웹 서비스)

메시지는 전송되거나 수신되는 데이터를 캡슐화하는 개체입니다. 메시지의 구조는 SOAP로 정의되며 헤더 및 본문 집합을 포함합니다. 헤더는 항상 메모리에 버퍼링되지만 본문은 스트리밍 API를 사용하여 읽고 씁니다.

Diagram showing a message with the header being buffered and the body being streamed.

메시지에는 메시지의 동작을 제어하는 선택적 설정을 지정하고 수신된 메시지(예: 보안 정보)에 대한 추가 정보를 검색하는 방법을 제공하는 데 사용할 수 있는 속성 집합이 있습니다. 메시지 속성의 전체 목록은 WS_MESSAGE_PROPERTY_ID 참조하세요.

메시지는 특정 엔드포인트 주소로 주소가 지정됩니다.

WS_FAULT 원격 엔드포인트에서 반환된 오류를 나타내는 데 사용되는 특별한 종류의 메시지 콘텐츠입니다.

메시지는 전송되기 전에 XML을 선형 와이어 형식으로 변환하는 인코딩을 거칩니다.

메시지에 대한 자세한 내용은 채널 계층 개요 항목을 참조하세요.

다음 예제에서는 WWSAPI에서 메시지를 사용하는 방법을 보여 줍니다.

예제 설명
CustomHeaderExample 사용자 지정 메시지 헤더를 사용하는 방법을 보여 줍니다.
MessageEncodingExample 메시지 인코딩 및 디코딩을 보여 줍니다.
ForwardMessageExample 메시지 전달을 보여 줍니다.

 

다음 API 요소는 메시지와 함께 사용됩니다.

콜백 설명
WS_MESSAGE_DONE_CALLBACK 메시지가 WsReadEnvelopeStart 함수에 제공된 WS_XML_READER 구조체 또는 WsWriteEnvelopeStart 함수에 제공된 WS_XML_WRITER 구조체의 사용을 완료했음을 호출자에게 알릴 수 있습니다.

 

열거형 설명
WS_ADDRESSING_VERSION 주소 지정 헤더에 사용되는 사양의 버전입니다.
WS_ENVELOPE_VERSION 봉투 구조에 사용되는 사양의 버전입니다.
WS_HEADER_ATTRIBUTES 헤더의 SOAP mustUnderstand 및 릴레이 특성을 나타내는 플래그 집합입니다.
WS_HEADER_TYPE 헤더의 형식입니다.
WS_MESSAGE_INITIALIZATION WsInitializeMessage메시지에 추가해야 하는 헤더를 지정합니다.
WS_MESSAGE_PROPERTY_ID 각 메시지 속성의 ID입니다.
WS_MESSAGE_STATE 메시지의 상태입니다.

 

함수 설명
WsAddressMessage 메시지에 대상 주소를 할당합니다.
WsCheckMustUnderstandHeaders 지정된 헤더가 수신기에서 적절하게 이해되었는지 확인합니다.
WsCreateMessage WS_MESSAGE 개체의 인스턴스를 만듭니다.
WsCreateMessageForChannel 특정 채널에서 사용하기에 적합한 메시지를 만듭니다.
WsFillBody 메시지에서 읽기에 사용할 수 있는 바이트 수가 충분한지 확인합니다.
WsFlushBody 기록된 모든 누적된 메시지 본문 데이터를 플러시합니다.
WsFreeMessage 메시지와 연결된 메모리 리소스를 해제합니다.
WsGetCustomHeader 메시지의 애플리케이션 정의 헤더를 찾아 역직렬화합니다.
WsGetHeader 메시지에서 특정 표준 헤더를 찾아 역직렬화합니다.
WsGetHeaderAttributes ULONG 매개 변수를 판독기 위치가 있는 헤더 요소의 WS_HEADER_ATTRIBUTES 채웁니다.
WsGetMessageProperty 지정된 Message 개체 속성을 검색합니다.
WsInitializeMessage 처리 준비를 위해 메시지의 헤더를 초기화합니다.
WsMarkHeaderAsUnderstood 애플리케이션에서 이해할 수 있는 헤더를 표시합니다.
WsReadBody 메시지의 XML 판독기에서 값을 역직렬화합니다.
WsReadEnvelopeEnd 메시지의 닫는 요소를 읽습니다.
WsReadEnvelopeStart 메시지의 헤더를 읽고 본문 요소를 읽을 준비를 합니다.
WsRemoveCustomHeader 메시지에서 사용자 지정 헤더를 제거합니다.
WsRemoveHeader 메시지에서 표준 WS_HEADER_TYPE 개체를 제거합니다.
WsResetMessage 메시지 상태를 다시 WS_MESSAGE_STATE_EMPTY 설정합니다.
WsSetHeader 메시지에 지정된 표준 헤더를 추가하거나 바꿉니다.
WsWriteBody 메시지 본문에 값을 씁니다.
WsWriteEnvelopeEnd 메시지의 닫는 요소를 씁니다.
WsWriteEnvelopeStart 메시지의 현재 헤더 집합을 포함하여 메시지의 시작을 작성하고 본문 요소를 작성할 준비를 합니다.

 

Handle 설명
WS_MESSAGE 메시지 개체를 참조하는 데 사용되는 불투명 형식입니다.

 

구조 설명
WS_FAULT 처리 실패를 나타내는 메시지 본문에 전달되는 오류 값입니다.
WS_FAULT_CODE 오류 코드를 나타냅니다.
WS_FAULT_REASON 오류에 대한 설명을 포함합니다.
WS_MESSAGE_PROPERTIES WS_MESSAGE_PROPERTY 구조체 집합을 지정합니다.
WS_MESSAGE_PROPERTY 메시지별 설정을 지정합니다.