Reputation: 838
I'm trying to use wsgen to generate wsdl files. If my webservice class extends another class I get an error but if I remove the extends it works. This is the error message:
error: compilation failed, errors should have been reported
Also wsgen -fullversion:
wsgen full version "JAX-WS RI 2.2.9-b130926.1035 svn-revision#8c29a9a53251ff741fca1664a8221dc876b2eac8"
Please note that I only have this problem when I use Java8. But the same code works when I use Java 7, and wsgen -version:
JAX-WS RI 2.2.4-b01
Here is more details and how to reproduce it: I'm using Java8 and I have three files:
webservice
basewebservice.java
webservice.java
webserviceImpl.java
basewebservice.java:
package webservice;
public class basewebservice { }
webservice.java
package webservice;
import javax.jws.WebMethod; import javax.jws.WebService;
@WebService public interface webservice {
@WebMethod public String hello();
}
webserviceImpl.java
package webservice;
import javax.jws.WebService;
@WebService(endpointInterface="webservice.webservice", serviceName="webservice")
public class webserviceImpl extends basewebservice implements webservice { @Override public String hello() { return "heLLoo"; } }
I use this command to generate wsdl file:
wsgen -cp "." webservice.webserviceImpl -r . -wsdl
It only works when I remove the extends basewebservice.
Upvotes: 1
Views: 1265
Reputation: 1375
You need to use an @XMLSeeAlso annotation on the BaseWebService. Check out this question - Java Web Services/JAXB - Abstract superclass
Upvotes: 1