59.2. 구성을 사용하여 인터셉터 추가

59.2.1. 개요

인터셉터를 엔드포인트에 연결하는 가장 쉬운 방법은 구성 파일을 사용하는 것입니다. 끝점에 연결할 각 인터셉터는 표준 Spring 빈을 사용하여 구성됩니다. 그런 다음 인터셉터의 빈을 Apache CXF 구성 요소를 사용하여 적절한 인터셉터 체인에 추가할 수 있습니다.

연결된 인터셉터 체인이 있는 각 런타임 구성 요소는 특수 Spring 요소를 사용하여 구성할 수 있습니다. 각 구성 요소의 요소에는 인터셉터 체인을 지정하기 위한 표준 하위 집합이 있습니다. 구성 요소와 연결된 인터셉터 체인마다 하나의 자식이 있습니다. 하위 항목은 체인에 추가할 인터셉터의 빈을 나열합니다.

59.2.2. 구성 요소

표 59.1. “인터셉터 체인 구성 요소” 인터셉터를 런타임 구성 요소에 연결하는 4가지 구성 요소를 설명합니다.

표 59.1. 인터셉터 체인 구성 요소

요소설명

inInterceptors

끝점의 인바운드 인터셉터 체인에 추가할 인터셉터를 구성하는 빈 목록이 포함되어 있습니다.

outInterceptors

끝점의 아웃바운드 인터셉터 체인에 추가할 인터셉터를 구성하는 빈 목록이 포함되어 있습니다.

inFaultInterceptors

끝점의 인바운드 오류 처리 인터셉터 체인에 추가할 인터셉터를 구성하는 빈 목록이 포함되어 있습니다.

outFaultInterceptors

끝점의 아웃바운드 오류 처리 인터셉터 체인에 추가할 인터셉터를 구성하는 빈 목록이 포함되어 있습니다.

모든 인터셉터 체인 구성 요소는 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 부. 웹 서비스 엔드 포인트 구성 을 참조하십시오.