1
votes

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.

1

1 Answers

1
votes

You need to use an @XMLSeeAlso annotation on the BaseWebService. Check out this question - Java Web Services/JAXB - Abstract superclass