29.3. 使用 JAX-WS 目录
概述
JAX-WS 规范要求所有实现都支持:
解决 Web 服务描述的任何 Web 服务文档时要使用的标准目录功能,特别是 WSDL 和 XML Schema 文档。
这个目录工具使用 OASIS 指定的 XML 目录功能。所有采用 WSDL URI 的 JAX-WS API 和注释均使用目录来解决 WSDL 文档的位置。
这意味着您可以提供一个 XML 目录服务来重写 WSDL 文档的位置,以为特定部署环境进行套件。
编写目录
JAX-WS 目录是 OASIS XML 目录 1.1 规范中定义的标准 XML 目录。它们允许您指定映射:
- 文档的公共标识符和/或系统标识符到 URI。
- 到另一个 URI 的资源 URI。
表 29.1 “常见 JAX-WS 目录元素” 列出用于 WSDL 位置解析的一些常见元素。
element | 描述 |
---|---|
| 将 URI 映射到备用 URI。 |
| 重写 URI 的开头。例如,这个元素允许您将所有以 http://cxf.apache.org 开头的 URI 映射到以 classpath: 开头的 URI。 |
| 根据原始 URI 后缀将 URI 映射到备用 URI。例如,您可以将以 foo.xsd 结尾的所有 URI 映射到 classpath:foo.xsd。 |
打包目录
JAX-WS 规范要求目录用来解析 WSDL 和 XML Schema 文档,它们使用名为 META-INF/jax-ws-catalog.xml
的所有可用资源进行汇编。如果您的应用程序被打包成单个 JAR 或 WAR,您可以将目录放在单个文件中。
如果您的应用程序被打包为多个 JAR,您可以将目录分成多个文件中。每个目录文件都模块化化,以仅处理特定 JAR 中代码访问的 WSDL。