我正在从多个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>
什么让我不知所措?
感谢任何提示。费德。
答案 0 :(得分:6)
确定。可以使用斜杠和星号后面的路径来生成mutlitple WSDL文件的类。例如。
<wsdlLocation>/myDir/*</wsdlLocation>
但是,在这种情况下,您无法应用绑定。
<bindingDirectory>src/main/binding</bindingDirectory>
如果需要为每个WSDL应用绑定,则必须重复插件的执行块或应用wsdl-inline绑定。见discussion for inline-binding。
希望这也有助于其他人。
答案 1 :(得分:0)
我认为您缺少<wsdlFiles>
元素包含<wsdlFile>
元素的列表。它应该是这样的:
<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>