2011-07-14 15 views
9

tomcat 6.0.32、cxf 2.4.1を使用して簡単なWebアプリケーションをセットアップしようとしています。コールを発行するたびに、例外が返されます。「cxfは私のバスです。'cxf'という名前のBeanが定義されていません

アプリケーションログを見ると、cxfインスタンスが作成され、キャッシュされていることがわかります。

================ APP LOG ======================を

910 BEGIN DEBUG - 熱心電位循環参照

1031の解決を可能にするためにBeanのCXFを 'キャッシュ - ビーン 'CXF'

1018 DEBUGの作成インスタンス - シングルトンビーン 'CXF'

910 DEBUGの共有インスタンスを作成しますDEBUG - まだ完全に初期化されていないシングルトンBean 'cxf'のキャッシュされたインスタンスを返す - 循環参照の結果

1034 DEBUGをrence - 'org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor'

1035 DEBUGシングルトンビーンのキャッシュされたインスタンスを返す - - BeanのCXF '

1035 DEBUGの仕上がり作成インスタンスを返します'org.apache.cxf.bus.spring.Jsr250BeanPostProcessor'

1035 DEBUGシングルトンBeanのインスタンスをキャッシュされた - シングルトン豆のキャッシュされたインスタンスを返す 'org.apache.cxf.bus.spring.BusExtensionPostProcessor'

1035 DEBUG - 豆の作成インスタンス「接続」

1035 DEBUG - - 熱心電位循環参照

の解決を可能にするためにビーン「接続」をキャッシュシングルトンビーン「接続」

1035 DEBUGの共有インスタンスを作成します

1052 DEBUG - ビーン '接続' のインスタンスを作成が完了

1052 DEBUG - 作成I - シングルトンビーン 'connectionService'

1052 DEBUGの共有インスタンスを作成します豆のnstance 'connectionService'

1053 DEBUG - 戻っ - シングルトンビーン '接続'

1053 DEBUGのキャッシュされたインスタンスを返す - 熱心

1053 DEBUG電位循環参照を解決を可能にするためにBeanのconnectionService 'をキャッシュシングルトンBeanのCXF "のキャッシュされたインスタンス DEBUG - 'connectionService'

1356 DEBUG名前でBeanのinitメソッド 'を作成' を起動 - 完成で作成bean 'connectionService'の姿勢

1384名前が 'lifecycleProcessor'のDEBUG fecycleProcessor:デフォルトを使用しています[org.springframework.context.support。DefaultLifecycleProcessor @ 45d1c3cd]

1385 DEBUG - 'シングルトン豆のキャッシュされたインスタンスを返す - 'CXF'

1387 DEBUGシングルトン豆のキャッシュされたインスタンスを返す - 'lifecycleProcessor'

1387 DEBUGシングルトン豆のキャッシュされたインスタンスを返しますCXF」

1388 DEBUG - 呼び出すinitメソッド '' 名前の豆に 'を作成connectionService'

1391 DEBUG - 豆の仕上がり作成インスタンス 'connectionService'

1391 DEBUG - 名前でLifecycleProcessorを見つけることができません 'lifecycleProcessor':使用して、デフォルトの[[email protected]3299f6] DEBUG - 'lifecycleProcessor'

シングルトン豆のキャッシュされたインスタンスを返します

1391 DEBUG - 名前付きのServletContext属性として公開されたルートWebApplicationContext [org.springframework.web.context.WebApplicationContext.ROOT]

1391 INFO - ルートWebApplicationContext:1390ミリ秒

で終了し、初期化

================ APPログ終了===================

いつリクエストが入ってくると、Beanを見つけることができないというエラーが常に出ます。

==================== Tomcat(localhost)ログの開始=================

INFO:春のルートが

に2011年7月14日にWebApplicationContext午前8時57分03秒AMの初期化

SEVEREを記録org.apache.catalina.core.ApplicationContext:StandardWrapper.Throwable

org.springframework。 beans.factory.NoSuchBeanDefinitionException: 'cxf'という名前のBeanは定義されていません

at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:527) 

at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1083) 

at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:274) 

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) 

at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1079) 

at org.apache.cxf.transport.servlet.CXFServlet.loadBus(CXFServlet.java:58) 

at org.apache.cxf.transport.servlet.CXFNonSpringServlet.init(CXFNonSpringServlet.java:54) 

at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173) 

at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:809) 

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129) 

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 

at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:864) 

at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579) 

at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1665) 

at java.lang.Thread.run(Thread.java:662) 

==================== Tomcat(localhost)ログ終了================

私が考えることができる唯一のことは、Beanが1つのコンテキストに挿入され、別のコンテキストから取得されていることですが、これを検証したり、その周囲の方法を見つけることができません。どんな助けでも大歓迎です。

答えて

19

エラー・ログから、私はそうならば、あなたは春のコンテキストXMLに次の行を追加する必要があります、あなたが春を使用すると仮定します。

<import resource="classpath:META-INF/cxf/cxf.xml"/> 
<import resource="classpath:META-INF/cxf/cxf-extension-xml.xml"/> 
<import resource="classpath:META-INF/cxf/cxf-servlet.xml"/> 

は、この情報がお役に立てば幸いです。

+1

は、私の場合には十分でした。 –

1

誰かがここに入り、mulesoft esbを使用している場合。問題はこのシステムにも存在します。問題を修正するには、フローの定義の前に次のセクションを追加します。

<spring:beans> 
    <spring:import resource="classpath:META-INF/cxf/cxf.xml" /> 
    <spring:import resource="classpath:META-INF/cxf/cxf-extension-xml.xml" /> 
    <spring:import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> 
    <spring:bean class="org.apache.cxf.bus.spring.Jsr250BeanPostProcessor" /> 
    <spring:bean id="classname" name="classname" class="some.implemented.interface.path" /> 
</spring:beans> 
0

ポンポンファイルでこれらの依存関係を追加します。

<dependency> 
   <groupId>org.apache.cxf</groupId> 
   <artifactId>cxf-rt-rs-extension-search</artifactId> 
   <version>2.6.0</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.cxf</groupId> 
    <artifactId>cxf-rt-rs-extension-providers</artifactId> 
    <version>3.0.1</version> 
</dependency> 
2

を誰かがこの問題を解決するための春のJavaベースの設定を必要とする場合、2つのオプションがあります。

あなたはCXFをインポートすることができます。 xmlファイルをJava Configクラスに追加します。

@ImportResource({ "classpath:META-INF/cxf/cxf.xml" }) 

または、Beanを定義することができますプログラム的であなたのJava Configurationクラスで:

@Bean 
public SpringBus cxf() {   
    return new SpringBus(); 
} 

CXF +春のJava Configurationクラスexample

0

以下にこれらのステップを確認してください:

1)下記に記載された行は、あなたの春のコンテキストXMLに含まれるべきである:

<import resource="classpath:META-INF/cxf/cxf.xml"/> 
<import resource="classpath:META-INF/cxf/cxf-servlet.xml"/> 

2)のWeb.xmlは、以下のように構成する必要があります。

以下で
<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>classpath*:cxf.xml</param-value> 
</context-param> 

3)依存関係は、あなたのpom.xml内で追加する必要があります。

<dependency> 
     <groupId>org.apache.cxf</groupId> 
     <artifactId>cxf-rt-frontend-jaxrs</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-ws-security</artifactId> 
     <version>${cxf.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.cxf</groupId> 
     <artifactId>cxf-rt-ws-policy</artifactId> 
     <version>${cxf.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.cxf</groupId> 
     <artifactId>cxf-rt-rs-service-description</artifactId> 
     <version>${cxf.version}</version> 
    </dependency> 

、最後のステップは、ここでは、WebLogicの設定を確認することです、あなたの問題を解決するために、すべてのこのdidntの助けを借りている場合、あなたのWebLogic Server上で確認する必要が手順です。

  1. 、ユーザーが定義していることを確認してくださいマシンをサーバーに接続します。
  2. あなたは以下のように展開するために、サーバーとマシンを指定する必要があります。

Weblogic app deployment

私はあなたの問題を解決し得るすべての手順を確認することを願っています。 "<輸入資源=" クラスパス:META-INF/CXF/cxf.xml "/>" のみの追加

乾杯

関連する問題