且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

object is not an instance of declaring class while invoking public abstract…的解决

更新时间:2022-09-20 15:10:54

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

1
2
3
4
5
6
7
org.apache.cxf.interceptor.Fault: object is not an instance of declaring class while invoking public abstract java.lang.String cn.zifangsky.service.CXFService.sayHello(java.lang.String) with params [dddd].
    at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:166)
    at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:267)
    at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:140)
    at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.invoke(AbstractJAXWSMethodInvoker.java:232)
    at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:85)
...

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<jaxws:server id="sayHelloServices" serviceClass="cn.zifangsky.service.CXFService" address="/services/soap" >
        <jaxws:serviceBean>
            <bean class="cn.zifangsky.service.impl.CXFServiceImpl" />
        </jaxws:serviceBean>
        <jaxws:outInterceptors>
            <ref bean="outLoggingInterceptor" />
        </jaxws:outInterceptors>
        <jaxws:inInterceptors>
            <ref bean="inLoggingInterceptor" />
        </jaxws:inInterceptors>
        <jaxws:features>
            <ref bean="loggingFeature" />
            <wsa:addressing xmlns:wsa="http://cxf.apache.org/ws/addressing" />
        </jaxws:features>
         
    </jaxws:server>

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

object is not an instance of declaring class while invoking public abstract…的解决



本文转自 pangfc 51CTO博客,原文链接:http://blog.51cto.com/983836259/1772449,如需转载请自行联系原作者