2016-01-07 80 views
1

在一週之前,我通過使用選項「來自WSDL的新Web服務」創建了一個新的Web服務。重新生成JAX-WS類

現在WSDL已更新,即類頭已更改。我如何更新舊的Web服務(7天之前)以使用新的類,而無需再次從WSDL中移除和創建Web服務。有沒有像「從WSDL編輯Web服務」或「重新生成WSDL」的選項?

注意:我使用Netbeans作爲IDE。

在先進的感謝

+0

你使用Maven使用Netbeans? – rjdkolb

+0

我正在使用Netbeans。 – SyndicatorBBB

回答

0

我要你使用Maven裏面Netbeans的承擔。

在pom.xml中查找.wsdl文件是您不知道名稱。 在這種情況下,只需將新的countries.wsdl文件複製到舊的countries.wsdl即可。

如果WSDL有新的方法或移除,使NewWebServiceFromWSDL類實現(在這種情況下xxx.BLAAPIPort)在endpointInterface指定的接口

移除部署在此之前實現。

示例Webservice Java代碼。

@WebService(serviceName = "APIPortService", portName = "APIPortSoap11", endpointInterface = "xxx.BLAAPIPort" 
public class NewWebServiceFromWSDL { 

僅供參考,插件在Maven中,當你點擊 「從WSDL新建Web服務」 已生成:

<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> 
        <wsdlFiles> 
         <wsdlFile>localhost_8080/ws/countries.wsdl</wsdlFile> 
        </wsdlFiles> 
        <vmArgs> 
         <vmArg>-Djavax.xml.accessExternalSchema=all</vmArg> 
        </vmArgs> 
        <staleFile>${project.build.directory}/jaxws/stale/countries.stale</staleFile> 
       </configuration> 
       <id>wsimport-generate-countries</id> 
       <phase>generate-sources</phase> 
      </execution> 
     </executions> 
     <dependencies> 
      <dependency> 
       <groupId>javax.xml</groupId> 
       <artifactId>webservices-api</artifactId> 
       <version>2.0</version> 
      </dependency> 
     </dependencies> 
     <configuration> 
      <sourceDestDir>${project.build.directory}/generated-sources/jaxws-wsimport</sourceDestDir> 
      <xnocompile>true</xnocompile> 
      <verbose>true</verbose> 
      <extension>true</extension> 
      <catalog>${basedir}/src/jax-ws-catalog.xml</catalog> 
     </configuration> 
    </plugin>