What fix? Is there any bug in version 1.3? I am going to try changing the version, but what now? Do need I to use both properties? How to achieve having an URL like "/myApp/serviceX/methodY"?
On 2 May 2013 11:39, Sergey Beryozkin <[email protected]> wrote: > On 02/05/13 10:34, Julio Carlos Barrera Juez wrote: > >> I am using DOSGI 1.3 with bundles cxf-dosgi-ri-discovery-local and >> cxf-dosgi-ri-dsw-cxf. And CXF 2.4.3. It is difficult to choose a different >> version, because we use a concrete Servicemix version (4.4.1), quite old, >> we know :-( . >> > > The fix I was referring to (and which I hope but can not guarantee at the > moment will help in your case) is in DOSGi 1.4. Can you experiment with > DOSGi 1.4 multibundle distro ? > > Sergey > > >> >> On 2 May 2013 11:28, Sergey Beryozkin<[email protected]**> wrote: >> >> What DOSGi version do you use ? >>> Sergey >>> >>> On 02/05/13 10:22, Julio Carlos Barrera Juez wrote: >>> >>> 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-****<http://svn.apache.org/repos/****asf/cxf/dosgi/tags/cxf-dosgi-****> >>>>> <http://svn.apache.**org/repos/**asf/cxf/dosgi/**tags/cxf-dosgi-**<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-**<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<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 >>>>> >>>>> >>>>> >>>> >>> -- >>> Sergey Beryozkin >>> >>> Talend Community Coders >>> http://coders.talend.com/ >>> >>> Blog: http://sberyozkin.blogspot.com >>> >>> >> > > -- > Sergey Beryozkin > > Talend Community Coders > http://coders.talend.com/ > > Blog: http://sberyozkin.blogspot.com >
