如何使用SPring 3.2.11和JBoss 7.1.3.Final自动装配JAXWS Web服务客户端?

时间:2015-02-19 15:02:30

标签: spring cxf jax-ws jboss7.x autowired

我正在使用JBoss 7.1.3.Final,Spring 3.2.11.RELEASE和CXF v 2.7.15。我正在尝试使用它在我的应用程序上下文中自动连接Spring Web服务客户端:

    <http-conf:conduit name="https://.*">
            <http-conf:tlsClientParameters secureSocketProtocol="TLSv1" disableCNCheck="true">
                    <sec:trustManagers>
                        <sec:keyStore type="JKS" password="${key.store.password}" resource="${key.store.file}" />
                    </sec:trustManagers>
                    <sec:keyManagers keyPassword="${key.manager.password}">
                        <sec:keyStore type="pkcs12" password="${private.key.password}" resource="${private.key.file}" />
                    </sec:keyManagers>
            </http-conf:tlsClientParameters>
    </http-conf:conduit>

    <jaxws:client id="orgWebServiceClient"
            serviceClass="org.mainco.bsorg.OrganizationWebService" address="${wsdl.url}" />

但是,当我将应用程序部署到JBoss时,我得到以下异常。

Caused by: org.springframework.beans.FatalBeanException: Invalid NamespaceHandler class [org.apache.cxf.jaxws.spring.NamespaceHandler] for namespace [http://cxf.apache.org/jaxws]: problem with handler class file or dependent class; nested exception is java.lang.NoClassDefFoundError: org/apache/cxf/jaxws/spring/EndpointDefinitionParser$SpringEndpointImpl
    at org.springframework.beans.factory.xml.DefaultNamespaceHandlerResolver.resolve(DefaultNamespaceHandlerResolver.java:139) [spring-beans-3.2.11.RELEASE.jar:3.2.11.RELEASE]
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1433) [spring-beans-3.2.11.RELEASE.jar:3.2.11.RELEASE]
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1428) [spring-beans-3.2.11.RELEASE.jar:3.2.11.RELEASE]
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:195) [spring-beans-3.2.11.RELEASE.jar:3.2.11.RELEASE]
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:139) [spring-beans-3.2.11.RELEASE.jar:3.2.11.RELEASE]
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:108) [spring-beans-3.2.11.RELEASE.jar:3.2.11.RELEASE]
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493) [spring-beans-3.2.11.RELEASE.jar:3.2.11.RELEASE]
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390) [spring-beans-3.2.11.RELEASE.jar:3.2.11.RELEASE]
    ... 32 more
Caused by: java.lang.NoClassDefFoundError: org/apache/cxf/jaxws/spring/EndpointDefinitionParser$SpringEndpointImpl
    at org.apache.cxf.jaxws.spring.EndpointDefinitionParser.<clinit>(EndpointDefinitionParser.java:57) [cxf-rt-frontend-jaxws-2.7.15.jar:2.7.15]
    at org.apache.cxf.jaxws.spring.NamespaceHandler.init(NamespaceHandler.java:35) [cxf-rt-frontend-jaxws-2.7.15.jar:2.7.15]
    at org.springframework.beans.factory.xml.DefaultNamespaceHandlerResolver.resolve(DefaultNamespaceHandlerResolver.java:130) [spring-beans-3.2.11.RELEASE.jar:3.2.11.RELEASE]
    ... 39 more
Caused by: java.lang.ClassNotFoundException: org.apache.cxf.jaxws.spring.EndpointDefinitionParser$SpringEndpointImpl from [Module "deployment.myproject.war:main" from Service Module Loader]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:423)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
    ... 42 more

我已经验证了有问题的类包含在我的WAR的WEB-INF / lib目录中。这是我的Maven依赖项

            <dependency>
                    <groupId>org.apache.cxf</groupId>
                    <artifactId>cxf-api</artifactId>
                    <version>${cxf.version}</version>
            </dependency>

            <dependency>
                    <groupId>org.apache.cxf</groupId>
                    <artifactId>cxf-rt-frontend-jaxws</artifactId>
                    <version>${cxf.version}</version>
            </dependency>

            <dependency>
                    <groupId>org.apache.cxf</groupId>
                    <artifactId>cxf-rt-transports-http</artifactId>
                    <version>${cxf.version}</version>
            </dependency>

我不知道JBoss还有什么东西可以搞砸了。我需要从我的WAR中将JBoss / include中包含什么才能使其工作?

0 个答案:

没有答案