As I wrote in my first e-mail, If we use the same value for " org.apache.cxf.rs.**httpservice.context" in each bundle, we get errors noticing it. And if we use different values in "org.apache.cxf.rs.** httpservice.context" property and "org.apache.cxf.rs.address" there is a mix in the WADLs and in the WS registrations. Each WADL point to the last registered service. We have tried all the combinations of values of both properties and none of them give us a good result ;-((
On 2 May 2013 11:01, Sergey Beryozkin <[email protected]> wrote: > Hi > > On 02/05/13 09:10, Julio Carlos Barrera Juez wrote: > >> Additionally, we cannot provide good javax.ws.rs.Path annotations because >> our OSGi service interfaces are used to generate different >> services dynamically. for instance, given this interface: >> >> @Path("/") >> public interface DynamicService { >> >> @Path("/methodA") >> public Object methodA(); >> >> } >> >> Different services are registered using the same interface, then >> different "org.apache.cxf.rs.address" >> properties are generated to differentiate each service like "/serviceA" >> and >> "/serviceB". Both services have same interface, but different instances. >> >> > What I know is possible with DOSGi CXF 1.4 is to use both > "org.apache.cxf.rs.**httpservice.context" and "org.apache.cxf.rs.address" > properties, both being relative, example, see > > http://svn.apache.org/repos/**asf/cxf/dosgi/tags/cxf-dosgi-** > ri-1.4.0/samples/greeter_rest/**impl2/src/main/java/org/** > apache/cxf/dosgi/samples/**greeter/impl2/rest/Activator.**java<http://svn.apache.org/repos/asf/cxf/dosgi/tags/cxf-dosgi-ri-1.4.0/samples/greeter_rest/impl2/src/main/java/org/apache/cxf/dosgi/samples/greeter/impl2/rest/Activator.java> > > So you should be able to set "org.apache.cxf.rs.**httpservice.context" to > say "/rest" for all the bundles and "/a", "/b", etc for > "org.apache.cxf.rs.address" for the individual bundles. > Give that a try please. > > One other thing is that you can avoid annotating interfaces with JAX-RS > annotations and use the external user models, the greeter_rest demo shows > that too. The only limitation there is that a user model is static, one can > not 'attach' them dynamically, may be we should support that... > > Sergey > > > >> On 2 May 2013 09:24, Julio Carlos Barrera Juez< >> [email protected]> wrote: >> >> Hi! >>> >>> We have a ServiceMix app with multiple bundles. We want to export our >>> OSGi >>> service interfaces using DOSGi. We annotate our service interfaces >>> with javax.ws.rs.Path, javax.ws.rs.GET, >>> javax.ws.rs.POST, javax.ws.rs.Consumes and javax.ws.rs.Produces. Then we >>> register our OSGi services using Apache Aries Blueprint or Java code >>> adding different CXF properties. >>> >>> At the beginning we used "org.apache.cxf.rs.address" property with >>> absolute URLs, using Jetty standalone instance. But now we want to use >>> relative address to use HTTP service. If we don't >>> specify "org.apache.cxf.rs.**httpservice.context" property, our service >>> seems >>> to be not registered at all. I we specify this property with same value >>> for >>> all services there are some errors when registering services ("alias in >>> use >>> or another context..."). If we specify different values for each >>> registration there are no errors, but there are a mix of methods in each >>> service (looking at WADL). >>> >>> How we must set both properties to achieve having different services >>> registered with relative paths? >>> >>> >> > > -- > Sergey Beryozkin > > Talend Community Coders > http://coders.talend.com/ > > Blog: http://sberyozkin.blogspot.com >
