[
https://issues.apache.org/jira/browse/CXF-1494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12585640#action_12585640
]
Sergey Beryozkin commented on CXF-1494:
---------------------------------------
> I don't know how people think about being able to use the JAX-RS stuff
> without spring.
JAX-RS is usable without Spring. I think Jervis added the Spring support at a
later stage...
> Getting the "real" object out of the proxy requires the spring-aop jar and a
> couple of it's dependencies to be available
Hmm. It's getting a bit hairy :-) I thought it would be simpler...The idea of
doing this unwrapping in a Spring handler only is interesting, but it's likely
that Proxies may be created by not only Spring AOP ?
Is there some generic solution to extracting the underlying class this Proxy
wraps ?
So perhaps the jaxws 'fix' is indeed the best fix ? No extra dependencies
needed. This class would need to be created for every serviceBean but may be
it's not that big a deal ?
> 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
>
> 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.