我正在尝试使用 wsgen 生成 wsdl 文件。如果我的 webservice 类扩展了另一个类,我会得到一个错误,但如果我删除扩展它就可以工作。这是错误消息:
error: compilation failed, errors should have been reported
还有 wsgen -fullversion:
wsgen full version "JAX-WS RI 2.2.9-b130926.1035 svn-revision#8c29a9a53251ff741fca1664a8221dc876b2eac8"
请注意,我只有在使用 Java8 时才会遇到这个问题。但是当我使用 Java 7 和 wsgen -version 时,相同的代码可以工作:
JAX-WS RI 2.2.4-b01
以下是更多详细信息以及如何重现它:我正在使用 Java8,并且我有三个文件:
webservice
basewebservice.java
webservice.java
webserviceImpl.java
basewebservice.java:
打包网络服务;
公共类 basewebservice { }
网络服务.java
打包网络服务;
导入 javax.jws.WebMethod;导入 javax.jws.WebService;
@WebService 公共接口 webservice {
@WebMethod 公共字符串 hello();
}
webserviceImpl.java
打包网络服务;
导入 javax.jws.WebService;
@WebService(endpointInterface="webservice.webservice", serviceName="webservice")
公共类 webserviceImpl扩展 basewebservice 实现 webservice { @Override public String hello() { return "heLloo"; } }
我使用这个命令来生成 wsdl 文件:
wsgen -cp "." webservice.webserviceImpl -r . -wsdl
它仅在我删除扩展 basewebservice 时才有效。