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 :-( .


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-**>
>>> 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
>

Reply via email to