如何创建和包含Java类以及多个WSDL文件到一个jar包中。

7

我正在从多个wsdl文件生成java类。这很有效。然而,我想在@WebServiceClient注释中提供适当的wsdl文件。在属性wsdlLocation中,我期望目录路径与不同文件名相连。例如,对于第一个webservice,/myDir/myWsdl-1.wsdl。然而,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>

什么会让我忽视?
谢谢任何提示。Feder。

将/添加到wsdLocation值中也没有帮助。它报告外部绑定文件无法绑定到更多的WSDL文件(/myDir/)。请使用内联绑定或多个执行标记。 - feder
2个回答

8

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

<wsdlLocation>/myDir/*</wsdlLocation>

然而,在这种情况下,您不能应用绑定。

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

如果您需要为每个WSDL应用绑定,则必须重复插件的执行块或应用wsdl-inline-binding。有关inline-binding,请参见此讨论
希望这也能帮助其他人。

0

我认为你缺少了一个囊括 <wsdlFile> 元素列表的 <wsdlFiles> 元素。应该像这样:

<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>

可以在此处找到有关如何使用<wsdlLocation>的示例:https://jax-ws-commons.java.net/jaxws-maven-plugin/wsimport-mojo.html#wsdlLocation - TrueCurry

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接