我已经使用 Apache CXF 开发了一个 Web 服务,并将其部署在 Apache Tomcat 上并且工作正常。
现在我需要将它部署在 JBoss Fuse ESB (jboss-fuse-6.0.0) 上。我尝试通过将其复制到部署文件夹中来部署它,但无法获取 WSDL 定义?wsdl
并在以下位置发现以下错误fuse.log
:
16:28:49,889 | 错误 | 执行人:1 | 上下文加载器 | 174 - org.springframework.web - 3.1.3.RELEASE | 上下文初始化失败 org.springframework.beans.factory.BeanDefinitionStoreException:从 ServletContext 资源 [/WEB-INF/cxf-beans.xml] 解析 XML 文档时出现意外异常;嵌套异常是 org.springframework.beans.FatalBeanException:命名空间 [http://cxf.apache.org/jaxws] 的类 [org.apache.cxf.jaxws.spring.NamespaceHandler] 没有实现 [org.springframework.beans .factory.xml.NamespaceHandler] 接口 在 org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:412)[105:org.springframework.beans:3.1.3.RELEASE] 在 org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)[105:org.springframework.beans:3.1.3.RELEASE] 在 org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)[105:org.springframework.beans:3.1.3.RELEASE] 在 org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)[105:org.springframework.beans:3.1.3.RELEASE]
在下面找到cxf-bean.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schema/jaxws.xsd
">
<import resource="classpath:META-INF/cxf/cxf.xml" />
<jaxws:endpoint id="hellows" implementor="com.irk.test.ws.HelloWsImpl" address="/hellows"/>
</beans>
请帮助我了解如何在 Fuse ESB 上部署它以及需要进行什么样的配置更改。