[ https://issues.apache.org/jira/browse/CXF-1494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12587332#action_12587332 ]
yarddog edited comment on CXF-1494 at 4/9/08 1:32 PM: ---------------------------------------------------------- OK - I finally have it narrowed down to some specifics. I believe the two attached source files (beans.xml and Test.java) are all you need to replicate this issue. Obviously, you'd have to configure your datasource appropriately for your environment. My initial guess is that its going to have something to do with the HibernateTransactionManager pointcut I have defined and that it uses the JdkDynamicAopProxy (as opposed to a cglib proxy instance). But, I far from an expert in how all of these libraries play together. was (Author: yarddog): OK - I finally have it narrowed down to some specifics. I believe the two attached source files are all you need to replicate this issue. Obviously, you'd have to configure your datasource appropriately for your environment. My initial guess is that its going to have something to do with the HibernateTransactionManager pointcut I have defined and that it uses the JdkDynamicAopProxy (as opposed to a cglib proxy instance). But, I far from an expert in how all of these libraries play together. > Issue Using JAX-RS / REST When AOP Proxy In Place > ------------------------------------------------- > > Key: CXF-1494 > URL: https://issues.apache.org/jira/browse/CXF-1494 > Project: CXF > Issue Type: Bug > Components: REST > Affects Versions: 2.1 > Reporter: Steve Ardis > Assignee: Sergey Beryozkin > Fix For: 2.1 > > Attachments: cxf-1494.patch > > > If your beans.xml contains the following entry: > <jaxrs:server id="services" address="/"> > <jaxrs:serviceBeans> > <ref bean="test" /> > </jaxrs:serviceBeans> > </jaxrs:server> > <bean id="test" class="test.rest.Test" /> > And you have a Spring AOP pointcut defined as: > <aop:config> > <aop:pointcut id="testOperations" expression="execution(* > test.rest.*.*(..))" /> > <aop:advisor advice-ref="transactionAdvice" pointcut-ref="testOperations" > /> > </aop:config> > no mapping to the test bean are mapped and method cannot be invoked - it > fails with "No operation found for path: /test/string/" > If you comment out the contents of <aop:config> everything works fine. > This link describes the problem with JAX-WS and the same issue probably > applies to JAX-RS: > http://incubator.apache.org/cxf/faq.html#FAQ-WhenusingSpringAOPtoenablethingsliketransactionsandsecurity%252CthegeneratedWSDLisverymessedupwithwrongnamespaces%252Cpartnames%252Cetc... > However, the solution provided in the link does not work due to differences > in the APIs between JAX-WS and JAX-RS. > I have a dumbed-down Maven project that I can zip up and provide if necessary. > Is there a suggested way around this problem for JAX-RS? > Is there a reason that, if the instance of the class that JAX-RS sees is a > proxy object, that it can't get the underlying class information by drilling > into the proxy object, thereby eliminating the necessity to define the > serviceClass information (as in the JAX-WS "fix")? Ideally , I'd like to be > able to do the following: > <jaxrs:server id="services" address="/"> > <jaxrs:serviceBeans> > <ref bean="test1" /> > <ref bean="test2" /> > <ref bean="test3" /> > </jaxrs:serviceBeans> > </jaxrs:server> > without having to define separate jaxrs server(s) (as in the JAX-WS "fix"). -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.