7.2. SOAP 1.2 메시지에 헤더 추가
7.2.1. 개요 링크 복사링크가 클립보드에 복사되었습니다!
SOAP 메시지 헤더는 soap12:header
요소를 SOAP 1.2 메시지에 추가하여 정의됩니다. soap12:header
요소는 바인딩의 입력
,출력
및 fault
요소의 선택적 자식입니다. SOAP 헤더는 상위 메시지의 일부가 됩니다. SOAP 헤더는 메시지 및 메시지 부분을 지정하여 정의됩니다. 각 SOAP 헤더는 하나의 메시지 부분만 포함할 수 있지만 필요한 만큼의 헤더를 삽입할 수 있습니다.
7.2.2. 구문 링크 복사링크가 클립보드에 복사되었습니다!
SOAP 헤더 정의의 구문은 예 7.3. “Header Syntax” 에 표시됩니다.
예 7.3. Header Syntax
soap12:header
요소의 속성은 표 7.1. “soap12:header
특성s” 에 설명되어 있습니다.
속성 | 설명 |
---|---|
헤더에 삽입되는 메시지의 정규화된 이름을 지정하는 필수 속성입니다. | |
SOAP 헤더에 삽입된 메시지 부분의 이름을 지정하는 필수 속성입니다. | |
인코딩 규칙을 사용하여 메시지 파트를 인코딩할지 여부를 지정합니다. | |
메시지를 구성하는 데 사용되는 인코딩 규칙을 지정합니다. | |
|
7.2.3. 본문과 헤더 간 메시지 분할 링크 복사링크가 클립보드에 복사되었습니다!
SOAP 헤더에 삽입된 메시지 부분은 계약의 유효한 메시지 부분일 수 있습니다. SOAP 본문으로 사용되는 상위 메시지의 일부일 수도 있습니다. 동일한 메시지에서 정보를 두 번 보낼 가능성이 낮기 때문에 SOAP 1.2 바인딩은 SOAP 본문에 삽입되는 메시지 부분을 지정할 수 있는 수단을 제공합니다.
soap12:body
요소에는 공백으로 구분된 부분
이름 목록을 사용하는 선택적 속성인 파트가 있습니다. 부분
도 정의되면 나열된 메시지 부분만 SOAP 1.2 메시지의 본문에 삽입됩니다. 그런 다음 나머지 부분을 메시지의 헤더에 삽입할 수 있습니다.
상위 메시지의 일부를 사용하여 SOAP 헤더를 정의할 때 Apache CXF는 자동으로 SOAP 헤더를 채웁니다.
7.2.4. 예제 링크 복사링크가 클립보드에 복사되었습니다!
예 7.4. “SOAP 1.2 Binding with a SOAP Header” 예 7.1. “시스템 인터페이스 순서” 에 표시된 orderWidgets
서비스의 수정된 버전을 표시합니다. 이 버전은 각 주문에 요청 헤더와 응답에 xsd:base64binary
값이 배치되도록 수정되었습니다. 헤더는 widgetKey
메시지의 keyVal
파트로 정의됩니다. 이 경우 입력 또는 출력 메시지의 일부가 아니기 때문에 헤더를 생성하는 애플리케이션 논리를 추가합니다.
예 7.4. SOAP 1.2 Binding with a SOAP Header
예 7.4. “SOAP 1.2 Binding with a SOAP Header” 에 표시된 대로 헤더 값이 입력 및 출력 메시지의 일부임을 알 수 있습니다. 예 7.5. “SOAP Header을 사용한 orderWidgets에 대한 SOAP 1.2 Binding” 이 경우 keyVal
은 입력 및 출력 메시지의 일부입니다. soap12:body
요소에서 parts
속성이 keyVal
을 본문에 삽입하지 않도록 지정합니다. 그러나 헤더에 삽입됩니다.
예 7.5. SOAP Header을 사용한 orderWidgets에 대한 SOAP 1.2 Binding