I ran into the same problem a while ago, I found that the interceptor was not in the spring context. As a result I had to manually retrieve a reference to the context and get the spring beans that way.
You might want to double check that the running code is in a spring context, I suspect you might find it's not. Remember, just because component scan initialises a copy of the bean, doesn't mean the running copy of the bean is from the context. On Tue, Jun 5, 2012 at 7:15 AM, Marco Pas <[email protected]> wrote: > Hi there, > > i seem to run into a small issue when using @Autowired into a custom > cxf interceptor. > My use case is that i want to log soap messages and send these using > AMQP to another system. This process works for normal services etc. > I checked the Spring DI log and the context is scanned and pickedup, > so what am i missing? > > Is this even possible in CXF interceptors? > > @Component > public class LogInInterceptor extends AbstractSoapInterceptor { > > private @Value("#{rabbitMQProperties['rabbitmq.binding.log.soap']}") > String binding; > > @Autowired > AmqpTemplate amqpTemplate; > > public LogInInterceptor() { > super(Phase.RECEIVE); > } > > @Override > public void handleMessage(SoapMessage soapMessage) throws Fault { > logIt(soapMessage); > } > > private void logIt(SoapMessage message) throws Fault { > // rest of the code omitted...!!! > amqpTemplate.convertAndSend(binding, buffer.toString()); > } > > } > -- Ted.
