12.3. 서비스 공급자 구성


12.3.1. HTTP 서비스 공급자의 메커니즘

HTTP 서비스 공급자 끝점은 활성 요청을 계속 유지하는지, 캐시와 상호 작용하는 방법, 소비자와 통신할 때 오류임을 허용하는 방법을 포함하여 다수의 HTTP 연결 속성을 지정할 수 있습니다.

서비스 공급자 끝점은 다음 두 가지 메커니즘을 사용하여 구성할 수 있습니다.

12.3.2. 설정 사용

12.3.2.1. 네임스페이스

HTTP 공급자 끝점을 구성하는 데 사용되는 요소는 네임스페이스 http://cxf.apache.org/transports/http/configuration 에 정의되어 있습니다. 일반적으로 접두사 http-conf 를 사용합니다. HTTP 구성 요소를 사용하려면 예 12.9. “HTTP 공급자 구성 네임스페이스” 에 표시된 행을 끝점 구성 파일의 요소에 추가해야 합니다. 또한 구성 요소의 네임스페이스를 xsi:schemaLocation 속성에 추가해야 합니다.

예 12.9. HTTP 공급자 구성 네임스페이스

<beans ...
       xmlns:http-conf="http://cxf.apache.org/transports/http/configuration"
       ...
       xsi:schemaLocation="...
                           http://cxf.apache.org/transports/http/configuration
                              http://cxf.apache.org/schemas/configuration/http-conf.xsd
                          ...">

12.3.2.2. Cryostat 런타임 또는 Netty 런타임

http-conf 네임스페이스의 요소를 사용하여 Cryostat 런타임 또는 Netty 런타임을 구성할 수 있습니다.

12.3.2.3. 대상 요소

http-conf:destination 요소 및 해당 하위 요소를 사용하여 HTTP 서비스 공급자 끝점을 구성합니다. http-conf:destination 요소는 엔드포인트에 해당하는 WSDL 포트 요소를 지정하는 단일 속성 name 을 사용합니다. name 속성 값은 portQName'.http-destination' 형식을 사용합니다. 예 12.10. “HTTP-conf:destination 요소” 끝점의 대상 네임스페이스가 http://widgets.widgetvendor.net인 경우 WSDL 조각 < port binding="widgetSOAPBinding" name="widgetSOAPPort >에서 지정하는 끝점에 대한 구성을 추가하는 데 사용되는 http-conf:destination 요소를 표시합니다.

예 12.10. HTTP-conf:destination 요소

...
  <http-conf:destination name="{http://widgets/widgetvendor.net}widgetSOAPPort.http-destination">
    ...
  </http-conf:destination>
...

http-conf:destination 요소에는 구성 정보를 지정하는 여러 하위 요소가 있습니다. 해당 내용은 표 12.4. “HTTP 서비스 공급자 끝점을 구성하는 데 사용되는 요소” 에 설명되어 있습니다.

표 12.4. HTTP 서비스 공급자 끝점을 구성하는 데 사용되는 요소
element설명

http-conf:server

HTTP 연결 속성을 지정합니다. “server 요소”을 참조하십시오.

http-conf:contextMatchStrategy

HTTP 요청을 처리하기 위한 컨텍스트 일치 전략을 구성하는 매개변수를 지정합니다.

http-conf:fixedParameterOrder

이 대상이 처리하는 HTTP 요청의 매개변수 순서가 수정되었는지 여부를 지정합니다.

12.3.2.4. server 요소

http-conf:server 요소는 서비스 공급자 끝점의 HTTP 연결의 속성을 구성하는 데 사용됩니다. 표 12.5. “HTTP 서비스 공급자 구성 속성” 에 설명된 해당 속성은 연결의 속성을 지정합니다.

표 12.5. HTTP 서비스 공급자 구성 속성
속성설명

ReceiveTimeout

연결 시간이 초과되기 전에 서비스 공급자가 요청을 수신하려고 시도하는 시간(밀리초)을 설정합니다. 기본값은 30000 입니다.

0 은 공급자가 시간 초과되지 않도록 지정합니다.

SuppressClientSendErrors

요청을 수신할 때 오류가 발생할 때 예외가 throw되는지 여부를 지정합니다. 기본값은 false 입니다. 오류가 발생할 때 예외가 발생합니다.

SuppressClientReceiveErrors

소비자에게 응답을 보낼 때 오류가 발생할 때 예외가 throw되는지 여부를 지정합니다. 기본값은 false 입니다. 오류가 발생할 때 예외가 발생합니다.

HonorKeepAlive

응답이 전송된 후 서비스 공급자가 연결에 대한 요청을 열린 상태로 유지할지 여부를 지정합니다. 기본값은 false 입니다. keep-alive 요청은 무시됩니다.

RedirectURL

클라이언트 요청에 지정된 URL이 요청된 리소스에 더 이상 적합하지 않은 경우 클라이언트 요청을 리디렉션해야 하는 URL을 지정합니다. 이 경우 서버 응답의 첫 번째 줄에서 상태 코드가 자동으로 설정되지 않으면 상태 코드가 302로 설정되고 상태 설명은 Object Moved로 설정됩니다. 이 값은 HTTP RedirectURL 속성 값으로 사용됩니다.

CacheControl

서비스 공급자에서 소비자로의 응답을 포함하는 체인과 관련된 캐시에서 준수해야 하는 동작에 대한 지시문을 지정합니다. 12.3.4절. “서비스 공급자 캐시 제어 방식”을 참조하십시오.

ContentLocation

응답에서 리소스를 보내는 URL을 설정합니다.

ContentType

응답에서 전송되는 정보의 미디어 유형을 지정합니다. 미디어 유형은 다용도 인터넷 메일 확장(MIME) 유형을 사용하여 지정됩니다. 이 값은 HTTP ContentType 위치 값으로 사용됩니다.

ContentEncoding

서비스 공급자가 보내는 정보에 적용된 추가 콘텐츠 인코딩을 지정합니다. 컨텐츠 인코딩 라벨은 INA(Internet Assigned Numbers Authority)에 의해 규제됩니다. 가능한 콘텐츠 인코딩 값에는 zip, gzip, compress, deflate, identity가 포함됩니다. 이 값은 HTTP ContentEncoding 속성 값으로 사용됩니다.

콘텐츠 인코딩의 주요 용도는 zip 또는 gzip과 같은 일부 인코딩 메커니즘을 사용하여 문서를 압축할 수 있도록 하는 것입니다. Apache CXF는 콘텐츠 코딩에 대한 유효성 검사를 수행하지 않습니다. 애플리케이션 수준에서 지정된 콘텐츠 코딩이 지원되도록 하는 것은 사용자의 책임이 있습니다.

ServerType

응답을 전송하는 서버 유형을 지정합니다. 값은 프로그램 이름/버전(예: Apache/ 1.2.5 )을 사용합니다.

12.3.2.5. 예

예 12.11. “HTTP 서비스 공급자 끝점 구성” keep-alive 요청을 준수하고 모든 통신 오류를 비활성화하는 HTTP 서비스 공급자 끝점의 구성을 표시합니다.

예 12.11. HTTP 서비스 공급자 끝점 구성

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:http-conf="http://cxf.apache.org/transports/http/configuration"
       xsi:schemaLocation="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">

  <http-conf:destination name="{http://apache.org/hello_world_soap_http}SoapPort.http-destination">
    <http-conf:server SuppressClientSendErrors="true"
                      SuppressClientReceiveErrors="true"
                      HonorKeepAlive="true" />
  </http-conf:destination>
</beans>

12.3.3. WSDL 사용

12.3.3.1. 네임스페이스

HTTP 공급자 끝점을 구성하는 데 사용되는 WSDL 확장 요소는 http://cxf.apache.org/transports/http/configuration 네임스페이스에 정의됩니다. 일반적으로 접두사 http-conf 를 사용합니다. HTTP 구성 요소를 사용하려면 예 12.12. “HTTP 공급자 WSDL 요소의 네임스페이스” 에 표시된 행을 끝점의 WSDL 문서의 definitions 요소에 추가해야 합니다.

예 12.12. HTTP 공급자 WSDL 요소의 네임스페이스

<definitions ...
       xmlns:http-conf="http://cxf.apache.org/transports/http/configuration"

12.3.3.2. Cryostat 런타임 또는 Netty 런타임

http-conf 네임스페이스의 요소를 사용하여 Cryostat 런타임 또는 Netty 런타임을 구성할 수 있습니다.

12.3.3.3. server 요소

http-conf:server 요소는 WSDL 문서에서 HTTP 서비스 공급자의 연결 속성을 지정하는 데 사용됩니다. http-conf:server 요소는 WSDL 포트 요소의 자식입니다. 구성 파일에 사용된 server 요소와 동일한 특성을 갖습니다. 속성은 표 12.5. “HTTP 서비스 공급자 구성 속성” 에 설명되어 있습니다.

12.3.3.4. 예

예 12.13. “HTTP 서비스 공급자 끝점을 구성하는 WSDL” 은 캐시와 상호 작용하지 않도록 지정하는 HTTP 서비스 공급자 끝점을 구성하는 WSDL 조각을 표시합니다.

예 12.13. HTTP 서비스 공급자 끝점을 구성하는 WSDL

<service ... >
  <port ... >
    <soap:address ... />
    <http-conf:server CacheControl="no-cache" />
  </port>
</service>

12.3.4. 서비스 공급자 캐시 제어 방식

표 12.6. “HTTP-conf:서버 캐시 제어ights” HTTP 서비스 공급자가 지원하는 캐시 제어 지시문을 나열합니다.

표 12.6. HTTP-conf:서버 캐시 제어ights
지시문동작

no-cache

캐시는 먼저 서버와 해당 응답을 재평가하지 않고 후속 요청을 충족하기 위해 특정 응답을 사용할 수 없습니다. 이 값으로 특정 응답 헤더 필드를 지정하는 경우 제한은 응답 내의 해당 헤더 필드에만 적용됩니다. 응답 헤더 필드를 지정하지 않으면 제한 사항이 전체 응답에 적용됩니다.

public

모든 캐시는 응답을 저장할 수 있습니다.

비공개

응답은 단일 사용자를 위한 것이므로 공용(공유) 캐시는 응답을 저장할 수 없습니다. 이 값으로 특정 응답 헤더 필드를 지정하는 경우 제한은 응답 내의 해당 헤더 필드에만 적용됩니다. 응답 헤더 필드를 지정하지 않으면 제한 사항이 전체 응답에 적용됩니다.

no-store

캐시는 응답의 일부 또는 이를 호출한 요청의 일부를 저장하지 않아야 합니다.

no-transform

캐시는 서버와 클라이언트 간의 응답에서 콘텐츠의 미디어 유형 또는 위치를 수정하지 않아야 합니다.

must-revalidate

캐시는 후속 응답에서 해당 항목을 사용하기 전에 응답과 관련된 만료된 항목을 다시 검증해야 합니다.

proxy-revalidate

공유 캐시에서만 적용할 수 있고 비공개 비공유 캐시에서 무시할 수 있다는 점을 제외하고 must-revalidate와 동일합니다. 이 지시문을 사용하는 경우 공용 cache 지시문도 사용해야 합니다.

max-age

클라이언트는 지정된 시간(초)보다 경과하지 않는 응답을 허용할 수 있습니다.

s-max-age

공유 캐시에만 적용할 수 있고 비공개 비공유 캐시에서 무시된다는 점을 제외하고 max-age와 동일합니다. s-max-age로 지정된 기간은 max-age로 지정된 기간을 재정의합니다. 이 지시문을 사용하는 경우 proxy-revalidate 지시문도 사용해야 합니다.

cache-extension

다른 캐시 지시문에 대한 추가 확장을 지정합니다. 확장 기능은 정보 또는 동작일 수 있습니다. 확장된 지시문은 표준 지시문의 컨텍스트에서 지정되므로 확장된 지시문을 인식하지 못하는 애플리케이션에서 표준 지시문에서 요구하는 동작을 준수할 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.