18.2. JAX-RS 클라이언트 엔드 포인트 구성
18.2.1. JAX-RS Client Endpoint 정의
18.2.1.1. 클라이언트 프록시 삽입
XML 언어(Blueprint XML 또는 Spring XML)에서 클라이언트 프록시 빈을 인스턴스화하는 기본 방법은 클라이언트 프록시를 사용하여 REST 서비스를 호출할 수 있는 다른 빈에 삽입하는 것입니다. XML에서 클라이언트 프록시 빈을 생성하려면 jaxrs:client
요소를 사용합니다.
18.2.1.2. 네임스페이스
JAX-RS 클라이언트 끝점은 서버 끝점의 다른 XML 네임스페이스를 사용하여 정의합니다. 다음 표에서는 어떤 XML 언어에 사용할 네임스페이스를 보여줍니다.
XML 언어 | 클라이언트 끝점의 네임스페이스 |
---|---|
Blueprint | |
Spring |
18.2.1.3. 기본 클라이언트 끝점 정의
다음 예제에서는 Blueprint XML 또는 Spring XML에서 클라이언트 프록시 빈을 생성하는 방법을 보여줍니다.
<jaxrs:client id="restClient" address="http://localhost:8080/test/services/rest" serviceClass="org.apache.cxf.systest.jaxrs.BookStoreJaxrsJaxws"/>
기본 클라이언트 끝점을 정의하려면 다음 속성을 설정해야 하는 위치입니다.
id
- 클라이언트 프록시의 빈 ID를 사용하여 XML 구성의 다른 빈에 클라이언트 프록시를 삽입할 수 있습니다.
주소
- address 속성은 REST 호출의 기본 URL을 지정합니다.
serviceClass
-
serviceClass
속성은 루트 리소스 클래스를 지정하여 REST 서비스에 대한 설명을 제공합니다(@Path
에서 주석 처리됨). 실제로 이 클래스는 서버 클래스이지만 클라이언트에서 직접 사용하지는 않습니다. 지정된 클래스는 클라이언트 프록시를 동적으로 구성하는 데 사용되는 해당 메타데이터(Java 리플렉션 및 JAX-RS 주석을 통해)에만 사용됩니다.
18.2.1.4. 헤더 지정
다음과 같이 jaxrs:headers
하위 요소를 사용하여 클라이언트 프록시의 호출에 HTTP 헤더를 추가할 수 있습니다.
<jaxrs:client id="restClient" address="http://localhost:8080/test/services/rest" serviceClass="org.apache.cxf.systest.jaxrs.BookStoreJaxrsJaxws" inheritHeaders="true"> <jaxrs:headers> <entry key="Accept" value="text/xml"/> </jaxrs:headers> </jaxrs:client>
18.2.2. jaxrs:client 속성
18.2.2.1. 속성
표 18.3. “JAX-RS 클라이언트 끝점 속성” jaxrs:client
요소에서 사용 가능한 특성을 설명합니다.
속성 | 설명 |
---|---|
| 소비자가 요청할 끝점의 HTTP 주소를 지정합니다. 이 값은 계약에 설정된 값을 재정의합니다. |
| 소비자가 사용하는 메시지 바인딩의 ID를 지정합니다. 유효한 바인딩 ID 목록은 23장. Apache CXF 바인딩 ID 에서 제공됩니다. |
| 엔드포인트를 관리하는 버스를 구성하는 Spring 빈의 ID를 지정합니다. |
|
이 프록시에서 하위 리소스 프록시가 생성되는 경우 이 프록시에 설정된 헤더가 상속되는지 여부를 지정합니다. 기본값은 |
| 간단한 사용자 이름/암호 인증에 사용되는 사용자 이름을 지정합니다. |
| 간단한 사용자 이름/암호 인증에 사용되는 암호를 지정합니다. |
|
모델 스키마를 classpath 리소스로 지정합니다(예: |
|
서비스 인터페이스 또는 리소스 클래스( |
|
JMS 전송이 사용되는 특수한 경우 JAX-RS 엔드포인트에 대한 서비스 QName( |
|
클라이언트 프록시가 스레드로부터 안전한지 여부를 지정합니다.Specifies whether the client proxy is thread-safe. 기본값은 |
|
비표준 전송 계층(HTTP 대신)을 선택하기 위한 것입니다. 특히 이 속성을 |
|
(spring only) 빈이 추상 빈인지 여부를 지정합니다. 추상화 빈은 구체적인 빈 정의를 위해 부모 역할을 하며 인스턴스화되지 않습니다. 기본값은 |
| (spring only) 끝점이 인스턴스화되기 전에 의존하는 빈 목록을 지정합니다. |
18.2.3. jaxrs: 클라이언트 하위 요소
18.2.3.1. 하위 요소
표 18.4. “JAX-RS 클라이언트 끝점 하위 요소” jaxrs:client
요소의 하위 요소에 대해 설명합니다.
요소 | 설명 |
---|---|
| |
| Apache CXF의 고급 기능을 구성하는 빈 목록을 지정합니다. 빈 참조 목록 또는 포함된 빈 목록을 제공할 수 있습니다. |
| 사용되지 않음. |
| 끝점에서 사용하는 데이터 바인딩을 구현하는 클래스를 지정합니다.Specifies the class implementing the data binding used by the endpoint. 이는 포함된 빈 정의를 사용하여 지정합니다. 자세한 내용은 “데이터 바인딩 지정” 에서 참조하십시오. |
| 인바운드 응답을 처리하는 인터셉터 목록을 지정합니다. 자세한 내용은 VII 부. Apache CXF 인터셉터 개발 에서 참조하십시오. |
| 인바운드 오류 메시지를 처리하는 인터셉터 목록을 지정합니다. 자세한 내용은 VII 부. Apache CXF 인터셉터 개발 에서 참조하십시오. |
| 아웃바운드 요청을 처리하는 인터셉터 목록을 지정합니다. 자세한 내용은 VII 부. Apache CXF 인터셉터 개발 에서 참조하십시오. |
| 아웃바운드 오류 메시지를 처리하는 인터셉터 목록을 지정합니다. 자세한 내용은 VII 부. Apache CXF 인터셉터 개발 에서 참조하십시오. |
| 끝점으로 전달되는 속성의 맵을 지정합니다. |
|
이 끝점에 하나 이상의 사용자 지정 JAX-RS 공급자를 등록할 수 있습니다. 이 요소의 자식은 |
|
리소스 모델의 기본 요소( |
|
이 엔드포인트에서 직접 리소스 모델을 정의합니다(즉, |
| 발신 메시지에 헤더를 설정하는 데 사용됩니다. 자세한 내용은 “헤더 지정”의 내용을 참조하십시오. |
|
XML 메시지 콘텐츠 유효성 검사에 사용되는 하나 이상의 XML 스키마를 지정합니다.Specifies one or more XML schemas used for validating XML message content. 이 요소에는 하나 이상의 |