在一周前,我使用WSDL"中的#34;新Web服务选项创建了一个新的Web服务。
现在WSDL已更新,即类标题已更改。如何更新旧的Web服务(7天之前)以使用新类,而无需再次从WSDL中删除和创建Web服务。是否有任何选项,如"从WSDL编辑Web服务"或者"重新生成WSDL" ?
注意:我使用Netbeans作为IDE。
先谢谢
答案 0 :(得分:0)
我假设你在Netbeans中使用Maven。
在pom.xml中查找.wsdl文件,你不知道名字。 在这种情况下,只需将旧的countries.wsdl文件复制到旧的countries.wsdl文件中即可。
如果WSDL有新方法或已删除,请使NewWebServiceFromWSDL类实现endpointInterface中指定的接口(在本例中为xxx.BLAAPIPort)
在部署之前删除此工具。
Webservice Java代码示例。
@WebService(serviceName = "APIPortService", portName = "APIPortSoap11", endpointInterface = "xxx.BLAAPIPort"
public class NewWebServiceFromWSDL {
仅供参考,当你点击"来自WSDL的新Web服务时生成的Maven插件" :
<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>