12장. HTTP 사용
초록
HTTP는 웹의 기본 전송입니다. 엔드포인트 간에 통신할 수 있는 표준화되고 강력하고 유연한 플랫폼을 제공합니다. 이러한 요인으로 인해 대부분의 WS-* 사양에 대해 가정된 전송이며 RESTful 아키텍처에 통합됩니다.
12.1. 기본 HTTP 끝점 추가
12.1.1. 대체 HTTP 런타임
Apache CXF는 다음과 같은 대체 HTTP 런타임 구현을 지원합니다.
- Cryo stat : 12.4절. “Cryostat 런타임 구성” 에 자세히 설명되어 있습니다.
- Netty: 12.5절. “Netty Runtime 구성” 에 자세히 설명되어 있습니다.
12.1.2. Netty HTTP URL
일반적으로 HTTP 끝점은 클래스 경로( Cryostat 또는 Netty)에 포함된 HTTP 런타임을 사용합니다. 그러나 Cryostat 런타임과 Netty 런타임이 모두 classpath에 포함된 경우 기본적으로 Cryostat 런타임을 사용하므로 Netty 런타임을 사용하려는 경우 명시적으로 지정해야 합니다.
classpath에서 둘 이상의 HTTP 런타임을 사용할 수 있는 경우 다음 형식을 갖도록 끝점 URL을 지정하여 Cryostat 런타임을 선택할 수 있습니다.
netty://http://RestOfURL
12.1.3. 페이로드 유형
사용 중인 페이로드 형식에 따라 HTTP 끝점의 주소를 지정하는 세 가지 방법이 있습니다.
-
Cryostat 1.1은 표준화된
soap:address
요소를 사용합니다. -
Cryostat 1.2는
soap12:address
요소를 사용합니다. -
다른 모든 페이로드 형식에서는
http:address 요소를 사용합니다.
Camel 2.16.0 릴리스에서 Apache Camel CXF Payload는 즉시 스트림 캐시를 지원합니다.
12.1.4. SOAP 1.1
HTTP를 통해 Cryostat 1.1 메시지를 전송하는 경우 endpoint의 주소를
지정하기 위해 Cryostat 1.1 주소 요소를 사용해야 합니다. 여기에는 엔드포인트의 주소를 URL로 지정하는 하나의 속성 location
이 있습니다. Cryostat 1.1 주소
요소는 네임스페이스 http://schemas.xmlsoap.org/wsdl/soap/ 에 정의되어 있습니다.
예 12.1. “Cryostat 1.1 포트 요소” HTTP를 통해 Cryostat 1.1 메시지를 보내는 데 사용되는 포트
요소를 표시합니다.
예 12.1. Cryostat 1.1 포트 요소
<definitions ... xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" ...> ... <service name="SOAP11Service"> <port binding="SOAP11Binding" name="SOAP11Port"> <soap:address location="http://artie.com/index.xml"> </port> </service> ... <definitions>
12.1.5. SOAP 1.2
HTTP를 통해 Cryostat 1.2 메시지를 전송하는 경우 endpoint의 주소를
지정하려면 Cryostat 1.2 주소 요소를 사용해야 합니다. 여기에는 엔드포인트의 주소를 URL로 지정하는 하나의 속성 location
이 있습니다. Cryostat 1.2 주소
요소는 네임스페이스 http://schemas.xmlsoap.org/wsdl/soap12/ 에 정의되어 있습니다.
예 12.2. “Cryostat 1.2 포트 요소” HTTP를 통해 Cryostat 1.2 메시지를 보내는 데 사용되는 포트
요소를 표시합니다.
예 12.2. Cryostat 1.2 포트 요소
<definitions ... xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" ... > <service name="SOAP12Service"> <port binding="SOAP12Binding" name="SOAP12Port"> <soap12:address location="http://artie.com/index.xml"> </port> </service> ... </definitions>
12.1.6. 기타 메시지 유형
messages가 Cryostat 이외의 모든 페이로드 형식으로 매핑되는 경우 HTTP 주소
요소를 사용하여 끝점의 주소를 지정해야 합니다. 여기에는 엔드포인트의 주소를 URL로 지정하는 하나의 속성 location
이 있습니다. HTTP 주소
요소는 네임스페이스 http://schemas.xmlsoap.org/wsdl/http/ 에 정의되어 있습니다.
예 12.3. “HTTP 포트 요소” XML 메시지를 보내는 데 사용되는 포트
요소를 표시합니다.
예 12.3. HTTP 포트 요소
<definitions ... xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" ... > <service name="HTTPService"> <port binding="HTTPBinding" name="HTTPPort"> <http:address location="http://artie.com/index.xml"> </port> </service> ... </definitions>