Hi Charlie,
Did you try to create a kind of wrapper CDI bean, expose it as a service
(using <service/>) and use it in a nested RS bean ?
Regards
JB
On 01/12/2014 03:16 PM, Charlie Mordant wrote:
Hi!
I'm trying to create a CXF-RS server based on a Pax-CDI bean.
This bean is necessarily a CDI one because I'm using Hibernate Validator
CDI extension to validate it:
@Named
@Path ("/")
public class MyBean {
@POST
@Consumes(XML)
public void addSomething(@Valid Something something) {/*do stuff*/}
}}
I was used to declare my RS services server in the blueprint file:
<jaxrs:serverid="beanServiceCXF"address="/beanService">
<jaxrs:serviceBeans>
<refcomponent-id="myBean"/>
</jaxrs:serviceBeans>
<jaxrs:providers>
<refcomponent-id="jaxbProvider"/>
<refcomponent-id="jsonProvider"/>
<beanid="validationException"
class="helpers.cxf.exception.handling.jaxrs.mapper.ExceptionXmlMapper"/>
</jaxrs:providers>
</jaxrs:server>
<cxf:bus>
<cxf:features>
<cxf:logging/>
</cxf:features>
</cxf:bus>
Unfortunately, I'm not able to inject this CDI Bean as a blueprint
reference (a workaround could be to export this CDI bean as an OSGI
service and reference it on another bundle that exposes the web service
but it's a little overengineered): is there a way to do this? for
example accessing to the bundle Blueprint component registry and adding
this CDI bean?
Thank you in advance,
Charlie
--
Jean-Baptiste Onofré
[email protected]
http://blog.nanthrax.net
Talend - http://www.talend.com