如题所示,使用Apache CXF开发web service时,使用SoapUI对web service接口进行测试时报了以下错误:

org.apache.cxf.interceptor.Fault:objectisnotaninstanceofdeclaringclasswhileinvokingpublicabstractjava.lang.Stringcn.zifangsky.service.CXFService.sayHello(java.lang.String)withparams[dddd].atorg.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:166)atorg.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:267)atorg.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:140)atorg.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.invoke(AbstractJAXWSMethodInvoker.java:232)atorg.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:85)...

这个bug的出现是在配置文件这里:

<jaxws:serverid="sayHelloServices"serviceClass="cn.zifangsky.service.CXFService"address="/services/soap"><jaxws:serviceBean><beanclass="cn.zifangsky.service.impl.CXFServiceImpl"/></jaxws:serviceBean><jaxws:outInterceptors><refbean="outLoggingInterceptor"/></jaxws:outInterceptors><jaxws:inInterceptors><refbean="inLoggingInterceptor"/></jaxws:inInterceptors><jaxws:features><refbean="loggingFeature"/><wsa:addressingxmlns:wsa="http://cxf.apache.org/ws/addressing"/></jaxws:features></jaxws:server>

其中,<jaxws:serviceBean>需要对应的是webservice接口的实现类,如果填错了则会出现上面的bug。当然我当时是犯了一个低级的错误,那就是CXFServiceImpl这个类忘记实现CXFService接口了,真是汗颜