【问题标题】:What does wsimport do with jax-ws-catalog.xml?wsimport 对 jax-ws-catalog.xml 有什么作用?
【发布时间】:2013-02-15 16:45:25
【问题描述】:

我在网上找到的所有关于 wsimport 的文档似乎都对使用目录文件 (jax-ws-catalog.xml) 的一个方面有点模糊。我的问题是:

当我使用 wsimport 和 -catalog 选项生成 Web 服务客户端时,wsimport 是否仅在构建时使用我的目录来查找它用于创建 Web 服务的 WSDL?或者它是否还以某种方式将目录捆绑到生成的 Web 服务中,以便可以在运行时使用目录来定位资源?

我猜 wsimport 只在构建时使用目录文件来解析资源,如果我想在运行时使用目录文件来解析资源,我必须捆绑 jax-ws-catalog.xml使用我的网络客户端,但同样,到目前为止我找到的文档似乎有点不清楚,我希望听到更了解的人明确确认这一点。

更新:我正在使用 Maven 插件来生成我的网络服务类 (http://mojo.codehaus.org/jaxws-maven-plugin/wsimport-mojo.html)。

如果此问题中的任何内容不清楚,请告诉我,我将进行编辑以添加更多信息。

【问题讨论】:

    标签: web-services wsdl jax-ws wsimport


    【解决方案1】:

    @dbisdorf --> 是的,当您使用带有 *catalog.xml 文件的 -catalog 选项时,该文件将被复制到 Java EE 项目的 WEB-INF 或 META-INF 目录中。这将用于查找引用@Runtine。如果您不想使用它,则应指定 genRuntimeCatalog=false。

    这在以下链接中有明确记录:http://docs.oracle.com/cd/E13222_01/wls/docs103/webserv_adv/xml.html

    【讨论】:

    • @ArjanTijms :我没有在生成的类出现的输出目录中看到目录文件。另外,我没有使用 Weblogic ANT 任务来生成我的客户端;我正在使用我在 pom.xml 文件中引用的 Maven 插件。我已经添加了指向相关插件文档的链接。本文档中没有明确说明目录文件是否将包含在 wsimport 的输出中。
    • 使用 -verbose 标志运行 jax-wsimport 后,输出根本没有提及目录文件。
    • @dbisdorf maven 的 -X 选项怎么样?它提供任何信息吗?
    • 不,使用 -X 运行 maven 仍然不会产生任何提及目录文件的输出。在我的特定情况下,似乎目录仅用于在构建时解析资源,而不是与生成的类捆绑以在运行时使用。我将不得不假设这就是 wsimport 在这种特殊情况下的运作方式。
    • 它也没有与我生成的java类捆绑在一起,我很确定它只用于查找wsdl。
    猜你喜欢
    • 1970-01-01
    • 2012-06-06
    • 2011-05-04
    • 2013-05-08
    • 2011-02-19
    • 1970-01-01
    • 1970-01-01
    • 2011-05-20
    • 1970-01-01
    相关资源
    最近更新 更多