ResourceInjector (CXF class) works on Fields (using Reflections API) rather
than on methods
-------------------------------------------------------------------------------------------
Key: CXF-2534
URL: https://issues.apache.org/jira/browse/CXF-2534
Project: CXF
Issue Type: Improvement
Components: JAX-WS Runtime
Affects Versions: 2.2.3
Environment: All env (windows, Linux)
Reporter: Karuna
In JAX-WS java-first webservice using CXF and Spring, Service Implementor class
can not have custom annotations when the following @Resource is added to
implementor class.
@Resource
private WebServiceContext webServiceContext;
This is because in order to enable Spring-AOP, jaxws:endpoint XML config should
be like this
<jaxws:endpoint id="XXXService"
implementorClass="com.xxx.ws.soap.XXXServiceImpl"
implementor="#xxxServiceImpl"
address="/XXXService"/>
Because of this, since Spring works on proxies, somehow, @Resource
(WebServiceContext ) is failing. This is because ResourceInjector (CXF class)
works on Fields (using Reflections API) rather than on methods. If the
accessing of WebServiceContext is done using Methods (Reflections API), it
would not be a problem because proxies have methods too.
So it appears that, any custom annotations in CXF implementor classes can not
be added when @Resource is added. @Resource should be accessed using methods
rather than at Fields.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.