2015-10-19 95 views
1

在我的spring启动应用程序中,我必须为两个webservices [A A和B webservices]创建客户端代码。我正在使用jaxws-maven-plugin,它正在生成代码。jaxws-maven-plugin和spring boot

在我面前的挑战是,在我的web项目中,我有一个生成的文件夹,所有生成的代码都放在该文件夹中。现在,如果我为A服务执行jaxws-maven-plugin,它将创建代码和wsdl位置点,以从生成的代码中正确定位,即A.wsdl。之后,如果我执行B服务的jaxws-maven-plugin,它也会创建正确的生成代码,但在这种情况下,第一个webservices生成的客户端代码的wsdl位置会被修改并指向B.wsdl

由于此接近我的客户代码为A.wsdl停止工作,因为它指向不正确的执行

请建议。

+0

在问题中发布了jaxws-maven-plugin的配置(即你的pom.xml的片段)。那么它会更容易回答。 –

回答

1

您可以在一个jaxws-maven-plugin执行过程中为多个WSDL文件生成Java代码并指定路径前缀。

<build> 
    ... 
    <plugins> 
     <plugin> 
      <groupId>org.jvnet.jax-ws-commons</groupId> 
      <artifactId>jaxws-maven-plugin</artifactId> 
      <version>2.3</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>wsimport</goal> 
        </goals> 
        <configuration> 
         <keep>true</keep> 
         <wsdlLocation>http://mywebservices/*</wsdlLocation> 
         <wsdlDirectory>src/mywsdls</wsdlDirectory> 
         <wsdlFiles> 
          <wsdlFile>A.wsdl</wsdlFile> 
          <!-- produces wsdlLocation = http://mywebservices/A.wsdl --> 
          <wsdlFile>B.wsdl</wsdlFile> 
          <!-- produces wsdlLocation = http://mywebservices/B.wsdl --> 
         </wsdlFiles> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
     ... 
    </plugins> 
    ... 
<build> 

参见JAX-WS Commons站点的this example

+0

感谢您的解决方案。它的工作 – user3534483

+0

不客气。如果你喜欢我的回答,请接受它。 –

+0

是的,我使用了你给出的代码。 – user3534483