Apache CXF を使用して Web サービスを開発し、それを Apache Tomcat にデプロイして正常に動作しています。
ここで、JBoss Fuse ESB (jboss-fuse-6.0.0) にデプロイする必要がありました。deploy フォルダーにコピーしてデプロイしようとしましたが、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 にデプロイする方法と、必要な構成変更の種類を理解するのを手伝ってください。