2011-12-07 13 views
0

私はapplicationContext.xmlををインポートし、スプリングの設定ファイルservice.xmlに を、持っている、と私のapplicationContext.xmlをはのsecurity.xmlをインポートします。今私のservice.xmlにしては、Beanを定義している春の豆refは

はこのmyPasswordCallbackHandler Beanがのsecurity.xmlで定義されていますが、アプリケーションのコンテキストをアップロード中に私が得ている

<bean id="mySecurityInterceptor" class="org.springframework.ws.soap.security.wss4j.Wss4jSecurityInterceptor"> 
<property name="validationActions" value="UsernameToken" /> 
<property name="securementActions" value="UsernameToken" /> 
<property name="validationCallbackHandler" ref="myPasswordCallbackHandler" /> 

を言いますmyPasswordCallbackHandlerのBean定義が見つかりません。

これを参考にするにはmyPasswordCallbackHandler bean ??

ありがとうございます!ここで

スタックトレースです:ここでは

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mySecurityInterceptor' defined in ServletContext resource [/WEB-INF/service.xml]: Cannot resolve reference to bean 'mySecurityPasswordCallbackHandler' while setting bean property 'validationCallbackHandler'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'mySecurityPasswordCallbackHandler' is defined 
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328) 
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1325) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) 
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) 
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) 
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) 
... 64 more 

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'mySecurityPasswordCallbackHandler' is defined 
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.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:266) 
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) 
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) 

デフ私myPasswordCallbackHandlerです:あなたはどこかにタイプミスを有していても良いように見えます

<beans:bean id="myPasswordCallbackHandler" 
    class="org.springframework.ws.soap.security.wss4j.callback.SpringPlainTextPasswordValidationCallbackHandler"> 
<beans:property name="authenticationManager" ref="authenticationManager"/> 

+1

myPasswordCallbackHandler定義を投稿できますか?正確なエラー(他にも役立つ情報があるかもしれません)? –

+0

これはうまくいくはずです、もっと情報を提供できますか? – Kevin

答えて

1

、にあなたのポスト内の参照があります2つの豆:mySecurityPasswordCallbackHandlerおよびmyPasswordCallbackHandler。正しい名前を使用していることを確認してください。これは役立ちますが、あなたは、あなたがmyPasswordCallbackHandlerと呼ばれる豆とを持っていると仮定すると

<bean id="mySecurityInterceptor" class="org.springframework.ws.soap.security.wss4j.Wss4jSecurityInterceptor" depends-on="myPasswordCallbackHandler"> 
<property name="validationActions" value="UsernameToken" /> 
<property name="securementActions" value="UsernameToken" /> 
<property name="validationCallbackHandler" ref="myPasswordCallbackHandler" /> 

に依存し、明示的に試すことができるかどう

+1

、またはmySecurityInterceptorでvalidationCallbackHandlerプロパティを省略し、autowire = "byType"を設定することもできます。ただし、myPasswordCallbackHandlerがそのタイプの唯一のインスタンスであると仮定します。 – Kevin

+0

@Beau:そう、実際のbean名ではないので、stacktraceを編集している間に入力してください。 mySecurityPasswordCallbackHandlerをmyPasswordCallbackHandlerとみなします。 – user620339

+0

@ user620339すべての参照/定義はコード内の 'mySecurityPasswordCallbackHandler'または' myPasswordCallbackHandler'のいずれかであると言っていますか? –

0

わからないすべてのインポート文は正しいです、私は、使用してすべての問題が表示されません。

関連する問題