59.2. 구성을 사용하여 인터셉터 추가
59.2.1. 개요
인터셉터를 엔드포인트에 연결하는 가장 쉬운 방법은 구성 파일을 사용하는 것입니다. 끝점에 연결할 각 인터셉터는 표준 Spring 빈을 사용하여 구성됩니다. 그런 다음 인터셉터의 빈을 Apache CXF 구성 요소를 사용하여 적절한 인터셉터 체인에 추가할 수 있습니다.
연결된 인터셉터 체인이 있는 각 런타임 구성 요소는 특수 Spring 요소를 사용하여 구성할 수 있습니다. 각 구성 요소의 요소에는 인터셉터 체인을 지정하기 위한 표준 하위 집합이 있습니다. 구성 요소와 연결된 인터셉터 체인마다 하나의 자식이 있습니다. 하위 항목은 체인에 추가할 인터셉터의 빈을 나열합니다.
59.2.2. 구성 요소
표 59.1. “인터셉터 체인 구성 요소” 인터셉터를 런타임 구성 요소에 연결하는 4가지 구성 요소를 설명합니다.
요소 | 설명 |
---|---|
끝점의 인바운드 인터셉터 체인에 추가할 인터셉터를 구성하는 빈 목록이 포함되어 있습니다. | |
끝점의 아웃바운드 인터셉터 체인에 추가할 인터셉터를 구성하는 빈 목록이 포함되어 있습니다. | |
끝점의 인바운드 오류 처리 인터셉터 체인에 추가할 인터셉터를 구성하는 빈 목록이 포함되어 있습니다. | |
끝점의 아웃바운드 오류 처리 인터셉터 체인에 추가할 인터셉터를 구성하는 빈 목록이 포함되어 있습니다. |
모든 인터셉터 체인 구성 요소는 list
하위 요소를 사용합니다. list
요소에는 체인에 연결된 각 인터셉터에 대해 하나의 하위 항목이 있습니다. 인터셉터는 인터셉터를 직접 구성하는 빈
요소 또는 인터셉터를 구성하는 빈 요소를 참조하는 ref
요소를 사용하여 빈 요소를 사용하여 지정할 수 있습니다
.
59.2.3. 예제
예 59.1. “버스에 인터셉터 연결” 는 인터셉터를 버스의 인바운드 인터셉터 체인에 연결하는 구성을 보여줍니다.
예 59.1. 버스에 인터셉터 연결
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cxf="http://cxf.apache.org/core" xmlns:http="http://cxf.apache.org/transports/http/configuration" xsi:schemaLocation=" http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> ... <bean id="GZIPStream" class="demo.stream.interceptor.StreamInterceptor"/> <cxf:bus> *<cxf:inInterceptors> <list> <ref bean="GZIPStream"/> </list> </cxf:inInterceptors>* </cxf:bus> </beans>
예 59.2. “JAX-WS 서비스 공급자에 인터셉터 연결” 는 인터셉터를 JAX-WS 서비스의 아웃바운드 인터셉터 체인에 연결하는 구성을 보여줍니다.
예 59.2. JAX-WS 서비스 공급자에 인터셉터 연결
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:wsa="http://cxf.apache.org/ws/addressing" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <jaxws:endpoint ...> *<jaxws:outInterceptors> <list> <bean id="GZIPStream" class="demo.stream.interceptor.StreamInterceptor" /> </list> </jaxws:outInterceptors>* </jaxws:endpoint> </beans>
59.2.4. 더 알아보기
Spring 구성을 사용하여 엔드포인트를 구성하는 방법에 대한 자세한 내용은 IV 부. 웹 서비스 엔드 포인트 구성 을 참조하십시오.