29.3. 使用 JAX-WS 目录

概述

JAX-WS 规范强制所有实施支持:

在解析 Web 服务文档的任何 Web 服务文档(特别是 WSDL 和 XML 架构文档)时可使用标准目录功能。

这个目录工具使用由 OASIS 指定的 XML 目录工具。所有采用 WSDL URI 的 JAX-WS API 和注释都使用目录解析 WSDL 文档的位置。

这意味着,您可以提供一个 XML 目录文件,将 WSDL 文档的位置重写为套件特定的部署环境。

写入目录

JAX-WS 目录是 OASIS XML 目录 1.1 规范中定义的标准 XML 目录。它们允许您指定映射:

  • 文档的公共标识符和/或系统标识符到 URI。
  • 到另一个 URI 的资源的 URI。

表 29.1 “Common JAX-WS Catalog Elements” 列出用于 WSDL 位置解析的一些常见元素。

表 29.1. Common JAX-WS Catalog Elements

元素描述

uri

将 URI 映射到备用 URI。

rewriteURI

重写 URI 的开头。例如,此元素允许您将以 http://cxf.apache.org 开头的所有 URI 映射到以 classpath: 开头的 URI。

uriSuffix

根据原始 URI 的后缀将 URI 映射到备用 URI。例如,您可以映射以 foo.xsd 结尾到 classpath:foo.xsd 的所有 URI。

打包目录

JAX-WS 规范要求用于解析 WSDL 和 XML 架构文档的目录使用名为 META-INF/jax-ws-catalog.xml 的所有可用资源组装在一起。如果您的应用程序打包成单个 JAR 或 WAR,您可以将目录放在单个文件中。

如果您的应用程序被打包为多个 JAR,您可以将目录分成多个文件。每个目录文件都可以模块化,以仅处理特定 JAR 中的代码访问的 WSDL。