I allready have @Ressource annotation injection support in my spring-context (it is automatically enabled by <context:component-scan>)
Moving the @Resource to a setter fix the issue (as only Spring will support this). Changing <aop:* and <tx:* to use proxy-target-class=true also fix this issue as another option. Anyway this sounds like a CXF bug to me, isn't it ? 2009/5/5 Karthik Abram <[email protected]> > Try the following: > Add <bean > > class="org.springframework.context.annotation.CommonAnnotationBeanPostProces > sor"/> > > > -----Original Message----- > From: nicolas de loof [mailto:[email protected]] > Sent: Tuesday, May 05, 2009 4:39 AM > To: [email protected] > Subject: @Resource injection fails in 2.2.1 > > Hi > I'm using <jaxws:endpoint to expose my web services, generated using > wsdl2java : > > <jaxws:endpoint address="/consultation/1.0" > implementor="#consultationEndPoint" > wsdlLocation="wsdl/consultation_v1.0.wsdl"/> > > <bean id="consultationEndPoint" class="com.foo.ConsultationEndPoint" /> > > > My EndPoint uses @Resource annotation to get Spring business-layer beans. > I get an error on CXF 2.2.1 : > > Caused by: java.lang.IllegalArgumentException: Can not set > com.foo.ConsultationService field com.foo.ConsultationEndPoint.service to > $Proxy176 > at > > sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeF > ieldAccessorImpl.java:146) > > The resource injector seems to use the proxy generated by <jaxws:endpoint> > for resource injection and not the implementor bean. > > > Nicolas > >
