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

Reply via email to