Java8不能将wsgen与扩展另一个类的webservice端点一起使用(与Java7一起使用)



我正在尝试使用wsgen生成wsdl文件。如果我的webservice类扩展了另一个类,我会得到一个错误,但如果我删除了扩展,它就可以工作了。这是错误消息:

error: compilation failed, errors should have been reported 

还有wsgen-完整版本:

wsgen full version "JAX-WS RI 2.2.9-b130926.1035 svn-revision#8c29a9a53251ff741fca1664a8221dc876b2eac8"

请注意,我只有在使用Java8时才会遇到这个问题。但当我使用Java7和wsgen版本时,同样的代码也能工作:

JAX-WS RI 2.2.4-b01

以下是更多细节以及如何复制:我使用的是Java8,我有三个文件:

webservice
    basewebservice.java
    webservice.java
    webserviceImpl.java

basewebservice.java:

一揽子网络服务;

基于公共类的Web服务{}

webservice.java

一揽子网络服务;

导入javax.jws.WebMethod;导入javax.jws.WebService;

@WebService公共接口Web服务{

@WebMethodpublic字符串hello();

}

webserviceImpl.java

一揽子网络服务;

导入javax.jws.WebService;

@WebService(endpointInterface="WebService.WebService",serviceName="webservice")

公共类webserviceImpl扩展basewebservice实现webservice{@Overridepublic字符串hello(){return"你好";}}

我使用此命令生成wsdl文件:

wsgen -cp "." webservice.webserviceImpl -r . -wsdl

只有当我删除扩展的basewebservice时,它才有效。

您需要在BaseWebService上使用@XMLSeeAlso注释。看看这个问题-JavaWebServices/JAXB-抽象超类

相关内容

  • 没有找到相关文章

最新更新