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"/>
<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 헤더를 추가할 수 있습니다.
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. 이 요소에는 하나 이상의 |