cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Julio Carlos Barrera Juez <juliocarlos.barr...@i2cat.net>
Subject Re: registering multiple OSGi services with DOSGi
Date Thu, 02 May 2013 09:52:56 GMT
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 <sberyozkin@gmail.com> 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<sberyozkin@gmail.com**>  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<sberyozkin@gmail.com****>
>>>> 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<
>>>>>
>>>>>> juliocarlos.barrera@i2cat.net>    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
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message