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-tp25615235p25615235.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to