Honestly, I'm not really sure. It SOUNDS like some sort of classloader
issue. Can you check your tomcat install for any extra wsdl4j jars lieing
around? It might be findind and older version or something.
I checked the 1.6.2 version we ship and:
public class OperationImpl extends AbstractWSDLElement implements Operation
....
public abstract class AbstractWSDLElement implements WSDLElement
so it defintely does implement the interface.
Dan
On Thursday 16 September 2010 4:35:39 am Reza Aliakbari wrote:
> I use
> - CXF 2.3 SNAPSHOT I got at 15 Sept 2010
> - Tomcat 7.0.2 Beta
>
> The code snippet is this:
> @WebService
> public interface PersonalContactManagementService extends
> DomainGeneralOperation<Integer, PersonalContact> {
>
> @WebMethod
> @WSDLDocumentation("This method updates a personal contact.")
> public void update(PersonalContact domain);
> ........
>
> The web service deployed with no issue, I could call them with no error.
> But when I wanted to see the WSDL I get the following exception :
>
> *exception*
>
> javax.servlet.ServletException: Servlet execution threw an exception
>
> *root cause*
>
> java.lang.IncompatibleClassChangeError: Class
> com.ibm.wsdl.OperationImpl does not implement the requested interface
> javax.wsdl.WSDLElement
>
> org.apache.cxf.wsdl11.ServiceWSDLBuilder.addDocumentation(ServiceWSDLBuild
> er.java:242)
> org.apache.cxf.wsdl11.ServiceWSDLBuilder.buildPortTypeOperation(ServiceWSD
> LBuilder.java:526)
> org.apache.cxf.wsdl11.ServiceWSDLBuilder.buildPortType(ServiceWSDLBuilder.
> java:473)
> org.apache.cxf.wsdl11.ServiceWSDLBuilder.build(ServiceWSDLBuilder.java:188
> )
> org.apache.cxf.wsdl11.ServiceWSDLBuilder.build(ServiceWSDLBuilder.java:151
> )
> org.apache.cxf.transport.http.WSDLQueryHandler.writeResponse(WSDLQueryHand
> ler.java:155)
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletControlle
> r.java:164)
> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServ
> let.java:142)
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(Abstrac
> tHTTPServlet.java:179)
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPSer
> vlet.java:108) javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
>
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPS
> ervlet.java:159)
>
> Please help
>
> Thanks,
> Reza
--
Daniel Kulp
[email protected]
http://dankulp.com/blog