【问题标题】:How to create and include Java classes and multiple WSDLs for a jar如何为 jar 创建和包含 Java 类和多个 WSDL
【发布时间】:2013-06-25 09:51:55
【问题描述】:

我正在从多个 wsdl 文件生成 java 类。作品。但是,我想在 @WebServiceClient 注释中提供适当的 wsdl 文件。在属性 wsdlLocation 中,我希望目录路径与不同的文件名连接。例如。 /myDir/myWsdl-1.wsdl 用于第一个 Web 服务。但是,wsdlLocation 仅填充有“/myDir” - 没有服务名称。如何为每个 wsdl 提供该名称?

@WebServiceClient(name = "myService", targetNamespace = "http://mycompany.com/services/", wsdlLocation = "/myDir")

以下是我的指示:

<wsdlLocation>/myDir</wsdlLocation>
<wsdlDirectory>src/main/resources/myDir</wsdlDirectory>
<wsdlFiles>
    <wsdlFile>myWsdl-1.wsdl</wsdlFile>
    <wsdlFile>myWsdl-2.wsdl</wsdlFile>
    <wsdlFile>myWsdl-3.wsdl</wsdlFile>
    <wsdlFile>myWsdl-4.wsdl</wsdlFile>
</wsdlFiles>

什么引起了我的注意?

感谢您的任何提示。费德。

【问题讨论】:

  • 将 /* 添加到 wsdLocation 值也无济于事。 It reports External binding file(s) can not be bound to more WSDL files (/myDir/*)Please use either inline binding(s) or multiple execution tags.

标签: maven wsimport


【解决方案1】:

好的。可以使用后跟斜杠和星号的路径来为多个 WSDL 文件生成类。例如。

<wsdlLocation>/myDir/*</wsdlLocation>

但是,在这种情况下,您不能应用绑定。

<bindingDirectory>src/main/binding</bindingDirectory>

如果您需要为每个 WSDL 应用绑定,则必须重复插件的执行块或应用 wsdl-inline-binding。请参阅此discussion for inline-binding

希望这对其他人也有帮助。

【讨论】:

    【解决方案2】:

    我认为您缺少包含&lt;wsdlFile&gt; 元素列表的&lt;wsdlFiles&gt; 元素。应该是这样的:

    <wsdlDirectory>src/main/resources/myDir</wsdlDirectory>
    <wsdlFiles>
        <wsdlFile>myWsdl-1.wsdl</wsdlFile>
        <wsdlFile>myWsdl-2.wsdl</wsdlFile>
        <wsdlFile>myWsdl-3.wsdl</wsdlFile>
        <wsdlFile>myWsdl-4.wsdl</wsdlFile>
    </wsdlFiles>
    

    【讨论】:

    猜你喜欢
    • 2015-05-31
    • 2014-01-17
    • 1970-01-01
    • 2014-11-19
    • 2010-09-13
    • 2014-08-09
    • 1970-01-01
    • 1970-01-01
    • 2011-09-28
    相关资源
    最近更新 更多