cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From HamletDRC <hamlet...@gmail.com>
Subject Re: Can't get simple Spring AOP example to work in CXF
Date Mon, 28 Sep 2009 13:26:19 GMT

Can someone confirm that Spring AOP before advice /should/ work with CXF? 

This is supported, correct? 

--
Hamlet




HamletDRC wrote:
> 
> Does anyone have any ideas about why my Spring AOP example doesn't work
> with CXF? I've tried quite a few different approaches, this one seems the
> simplest, but none worked. 
> 
> 1. I defined a service interface
> 2. I defined a service implementation
> 3. I defined a class to provide before method advice
> 4. I declared the service in my cxf.xml
> 5. I declared the aspect pointcut
> 6. I ran tomcat and got this error: java.lang.IllegalStateException:
> Post-processor tried to replace bean instance of type
> [vue.tcsm.services.SystemParameterService] with (proxy) object of type
> [$Proxy42] - not supported for aspect-configured classes!
> 
> 
> 1. Service interface is simple: 
> @WebService(serviceName = "SystemParameterService")
> public interface ISystemParameterService {
> 	@WebMethod()
> 	SystemParameterListDTO
> getSystemParameter(@WebParam()SystemParameterListDTO requests); 
> }
> 
> 2. Implementation is simple: 
> 
> @WebService(endpointInterface =
> "vue.tcsm.services.ISystemParameterService")
> public class SystemParameterService implements ISystemParameterService {
>   ...
> }
> 
> 3. Defined aop Pojo: 
> 
> public class ProxyExample {
> 	public void beforeMethod() {
> 		System.out.println("Before method call");
> 	}
> 
> 4. I declared the service in my cxf.xml
> 
> 	<jaxws:endpoint id="systemParameter"
> 					implementor="#systemParameterService"
> 					implementorClass="vue.tcsm.services.ISystemParameterService"
> 					address="/SystemParameterService">
> 	</jaxws:endpoint>
> 	<bean id="systemParameterService"
> class="vue.tcsm.services.SystemParameterService"/>
> 	<bean id="profiler" class="vue.tcsm.interceptors.ProxyExample"/>
> 
> 
> 5. I declared the aspect pointcut
> 
> 	<aop:config>
> 		<aop:aspect ref="profiler">
> 			<aop:pointcut id="aopbeforeMethod"
> 						  expression="execution(*
> vue.tcsm.services.ISystemParameterService.*(..))"/>
> 			<aop:before pointcut-ref="aopbeforeMethod"
> 					   method="beforeMethod"/>
> 		</aop:aspect>
> 	</aop:config>
> 
> 
> Any ideas on what could be wrong? 
> 
> 


-----
--
Hamlet D'Arcy

-- 
View this message in context: http://www.nabble.com/Can%27t-get-simple-Spring-AOP-example-to-work-in-CXF-tp25615235p25645178.html
Sent from the cxf-user mailing list archive at Nabble.com.


Mime
View raw message