创建名称为' cxf'的bean时出错

时间:2013-09-20 04:35:20

标签: java spring web-services spring-mvc

我在运行程序时遇到以下错误

Exception in thread "main" java.lang.RuntimeException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cxf' defined in class path resource [META-INF/cxf/cxf.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.apache.cxf.bus.spring.SpringBus]: Constructor threw exception; nested exception is org.apache.cxf.bus.extension.ExtensionException: Could not load extension class org.apache.cxf.ws.policy.AssertionBuilderRegistryImpl.

我的test.xml文件是

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:cxf="http://cxf.apache.org/core"
    xsi:schemaLocation="http://www.springframework.org/schema/beans     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
     http://www.springframework.org/schema/context  http://www.springframework.org/schema/context/spring-context-3.0.xsd
    http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd">


    <bean id="clientI"
        class="LI" />
    <bean id="clientL"
        class="LIn" />

        <cxf:bus>
        <cxf:outInterceptors>
            <ref bean="clientI" />
        </cxf:outInterceptors>
        <cxf:inInterceptors>
            <ref bean="clientL" />
        </cxf:inInterceptors>
    </cxf:bus>
</beans>

4 个答案:

答案 0 :(得分:2)

你的类路径中是否有cxf-bundle JAR?因为这可能是问题所在。

你可以从这里得到它:http://mvnrepository.com/artifact/org.apache.cxf/cxf-bundle/2.7.6(最新版本)。

答案 1 :(得分:1)

这可能是因为您使用的是旧版本的neethi(可能是2.X.X),您应该使用3.0.2版本。检查您的依赖项。

答案 2 :(得分:0)

对于解决方案,我必须添加cxf-bundle-xxx.jar并使用最新版本更新neethi jar。

答案 3 :(得分:0)

如果在包含WebSphere AS中部署的cxf-WebService的EAR上发生这种情况,

它可能来自cxf-WebService-Module的类加载器。确保您将WebService-Module的类加载器设置为PARENT_LAST