You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Reza Aliakbari <ra...@gmail.com> on 2010/09/16 10:35:39 UTC
Error using @WSDLDocumentation
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(ServiceWSDLBuilder.java:242)
org.apache.cxf.wsdl11.ServiceWSDLBuilder.buildPortTypeOperation(ServiceWSDLBuilder.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(WSDLQueryHandler.java:155)
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:164)
org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:142)
org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:108)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)
Please help
Thanks,
Reza
Re: Error using @WSDLDocumentation
Posted by Daniel Kulp <dk...@apache.org>.
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
dkulp@apache.org
http://dankulp.com/blog