29.3. JAX-WS Catalog 사용

29.3.1. 개요

JAX-WS 사양은 모든 구현이 다음을 지원해야 합니다.

웹 서비스, 특히 WSDL 및 XML 스키마 문서의 설명에 포함된 웹 서비스 문서를 해결할 때 사용할 표준 카탈로그 기능입니다.

이 카탈로그 기능은 OASIS에서 지정한 XML 카탈로그 기능을 사용합니다. WSDL URI를 사용하는 모든 JAX-WS API 및 주석은 이 카탈로그를 사용하여 WSDL 문서의 위치를 확인합니다.

즉, WSDL 문서의 위치를 특정 배포 환경에 맞게 다시 작성하는 XML 카탈로그 파일을 제공할 수 있습니다.

29.3.2. 카탈로그 작성

JAX-WS 카탈로그는 OASIS XML Catalogs 1.1 사양에 정의된 표준 XML 카탈로그입니다. 매핑을 지정할 수 있습니다.

  • URI에 대한 문서의 공개 식별자 및/또는 시스템 식별자입니다.
  • 다른 URI에 대한 리소스의 URI입니다.

표 29.1. “일반 JAX-WS 카탈로그 요소” WSDL 위치 확인에 사용되는 몇 가지 일반적인 요소를 나열합니다.

표 29.1. 일반 JAX-WS 카탈로그 요소

요소설명

uri

URI를 대체 URI에 매핑합니다.

rewriteURI

URI의 시작을 다시 작성합니다. 예를 들어 이 요소를 사용하면 http://cxf.apache.org 로 시작하는 모든 URI를 classpath로 시작하는 URI에 매핑할 있습니다.

uriSuffix

원래 URI의 접미사에 따라 URI를 대체 URI에 매핑합니다. 예를 들어 foo.xsd로 끝나는 모든 URI를 classpath: foo.xsd 에 매핑할 수 있습니다.

29.3.3. 카탈로그 패키지

JAX-WS 사양은 WSDL 및 XML 스키마 문서를 해결하는 데 사용되는 카탈로그가 META-INF/jax-ws-catalog.xml 이라는 사용 가능한 모든 리소스를 사용하여 어셈블해야 합니다. 애플리케이션이 단일 JAR 또는 WAR에 패키지된 경우 카탈로그를 단일 파일에 배치할 수 있습니다.

애플리케이션이 여러 JAR로 패키징된 경우 카탈로그를 여러 파일로 분할할 수 있습니다. 각 카탈로그 파일은 특정 JAR의 코드에서 액세스하는 WSDL만 처리하도록 모듈화할 수 있었습니다.