jax-ws maven插件将wsdlLocation设置为绝对路径

时间:2015-03-24 03:15:36

标签: web-services maven wsdl jax-ws jaxws-maven-plugin

我使用

生成Web服务客户端
<plugin> 
 <groupId>org.jvnet.jax-ws-commons</groupId> 
 <artifactId>jaxws-maven-plugin</artifactId> 
 <version>2.3</version> 
 <configuration>
  <target>2.1</target> 
  <xnocompile>false</xnocompile> 
 </configuration>
 <executions>
  <execution> 
   <goals> 
    <goal>wsimport</goal> 
   </goals>
  </execution> 
 </executions>
</plugin>

我的EndpointService.wsdl位于src / main / wsdl中。插件生成带有注释的EndointServiceService.java

@WebServiceClient(name = "EndpointServiceService", targetNamespace = "http://soap.endpoint.fsg.ftc/", wsdlLocation = "file:/D:/Source/java/branches/9.3.0/camel-smev/wscapi/src/wsdl/EndpointService.wsdl")

所以如果wsdl

D:/Source/java/branches/9.3.0/camel-smev/wscapi/src/wsdl/EndpointService.wsdl 

不存在(在另一台机器上),它在运行时抛出异常。 如果我将wsdl复制到此目录,它会成功运行。如何将wsdl包含到我的目标jar中并让客户端使用它?或者如何在运行时排除wsdl依赖?也许尝试旧版本或其他插件?

1 个答案:

答案 0 :(得分:0)

添加&lt; wsdllocation&gt;将插件配置中的标记添加到wsdl的相对路径中。 你可以找到一个例子here