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 位置解析的一些常见元素。

表 29.1. 常见 JAX-WS 目录元素

element描述

uri

将 URI 映射到备用 URI。

rewriteURI

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

uriSuffix

根据原始 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。