24.3.4.23. @policy 속성


속성설명

uri

(필수) 정책 정의가 포함된 파일의 위치입니다.

includeInWSDL

(선택 사항) WSDL을 생성할 때 생성된 계약에 정책을 포함할지 여부입니다. 기본값은 true 입니다.

배치

(선택 사항) WSDL 파일에서 이 문서가 표시되는 위치를 지정합니다. 가능한 배치 값 목록은 “WSDL 계약 포함” 에서 참조하십시오.

faultClass

(선택 사항) 배치가 BINDING_OPERATION_FAULT 또는 PORT_TYPE_OPERATION_FAULT 로 설정된 경우 이 속성도 설정하여 이 정책이 적용되는 오류를 지정해야 합니다. 값은 오류를 나타내는 Java 클래스입니다.

24.3.4.23.1. @policies 주석

@Policies 주석은 org.apache.cxf.annotations.Policies 인터페이스에서 정의됩니다. SEI 또는 thse SEI 방법에 배치할 수 있습니다.

이 주석은 여러 @Policy 주석을 목록으로 그룹화하는 방법을 제공합니다.

24.3.4.23.2. WSDL 계약 포함

WSDL 계약에 정책이 표시될 위치를 지정하려면 Policy.Placement 유형인 placement 속성을 지정할 수 있습니다. 배치에는 다음 값 중 하나가 있을 수 있습니다.

Policy.Placement.BINDING
Policy.Placement.BINDING_OPERATION
Policy.Placement.BINDING_OPERATION_FAULT
Policy.Placement.BINDING_OPERATION_INPUT
Policy.Placement.BINDING_OPERATION_OUTPUT
Policy.Placement.DEFAULT
Policy.Placement.PORT_TYPE
Policy.Placement.PORT_TYPE_OPERATION
Policy.Placement.PORT_TYPE_OPERATION_FAULT
Policy.Placement.PORT_TYPE_OPERATION_INPUT
Policy.Placement.PORT_TYPE_OPERATION_OUTPUT
Policy.Placement.SERVICE
Policy.Placement.SERVICE_PORT
24.3.4.23.3. @Policy의 예

다음 예제에서는 WSDL 정책을 HelloWorld SEI와 연결하는 방법과 정책을 sayHi 메서드와 연결하는 방법을 보여줍니다. 정책은 주석 디렉터리에 있는 파일 시스템의 XML 파일에 저장됩니다.

@WebService
@Policy(uri = "annotationpolicies/TestImplPolicy.xml",
        placement = Policy.Placement.SERVICE_PORT),
@Policy(uri = "annotationpolicies/TestPortTypePolicy.xml",
        placement = Policy.Placement.PORT_TYPE)
public interface HelloWorld {
    @Policy(uri = "annotationpolicies/TestOperationPTPolicy.xml",
            placement = Policy.Placement.PORT_TYPE_OPERATION),
    String sayHi(@WebParam(name = "text") String text);
}
24.3.4.23.4. @Policies의 예

@Policies 주석을 사용하여 다음 예와 같이 여러 @Policy 주석을 목록에 그룹화할 수 있습니다.

@WebService
@Policies({
    @Policy(uri = "annotationpolicies/TestImplPolicy.xml",
            placement = Policy.Placement.SERVICE_PORT),
    @Policy(uri = "annotationpolicies/TestPortTypePolicy.xml",
            placement = Policy.Placement.PORT_TYPE)
})
public interface HelloWorld {
    @Policy(uri = "annotationpolicies/TestOperationPTPolicy.xml",
            placement = Policy.Placement.PORT_TYPE_OPERATION),
    String sayHi(@WebParam(name = "text") String text);
}
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.