2015-10-19 103 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