重新生成JAX-WS类

时间:2016-01-07 09:16:09

标签: java netbeans netbeans-8

在一周前,我使用WSDL"中的#34;新Web服务选项创建了一个新的Web服务。

现在WSDL已更新,即类标题已更改。如何更新旧的Web服务(7天之前)以使用新类,而无需再次从WSDL中删除和创建Web服务。是否有任何选项,如"从WSDL编辑Web服务"或者"重新生成WSDL" ?

注意:我使用Netbeans作为IDE。

先谢谢

1 个答案:

答案 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>