Hi
On 15/03/12 14:00, Angelo zerr wrote:
Hi,
I would like use CXF- DOSGi in our Eclipse RCP/RAP XDocReport application
http://xdocreport-rap.opensagres.cloudbees.net/xdocreport?startup=fr.opensagres.xdocreport.eclipse.ui.applicationto
manage too Eclispe RCP which calls services with remoting.
We have started that and for Server side it's OK (we espose our services
with REST). But for client I have a question about the URL (endpoint.id) :
If I follow the docs
http://cxf.apache.org/dosgi-spring-dm-demo-page.htmlwe must write this
XML file:
----------------------------------------------------------
<endpoint-descriptions xmlns="http://www.osgi.org/xmlns/rsa/v1.0.0">
<endpoint-description>
<property name="objectClass">
<array>
<value>org.apache.cxf.dosgi.samples.springdm.DinnerService</value>
</array>
</property>
<property
name="endpoint.id">http://localhost:9000/org/apache/cxf/dosgi/samples/springdm/DinnerService</property>
<property name="service.imported.configs">org.apache.cxf.rs
<http://org.apache.cxf.ws></property>
</endpoint-description>
</endpoint-descriptions>
----------------------------------------------------------
My problem is that URL is hard coded in the XML file:
----------------------------------------------------------
<property
name="endpoint.id">http://localhost:9000/org/apache/cxf/dosgi/samples/springdm/DinnerService</property>
----------------------------------------------------------
I would like avoid to hard-coded the base URL "http://localhost:9000"
for each services that I expose. This URL depends on where the
services are deployed.
My question is : exists it a solution to set the base URL in a properties file?
The DOSGi solution is to use the Zookeeper-based Discovery mechanism.
However, I'm wondering, if the host/port is known at the build time then
may this resource can be simply filtered at the build time ?
By the way, there could be the way to use Declarative Services to enable
the DOSGi client proxies, judging by this unresolved JIRA issue reported
by David :-)
https://issues.apache.org/jira/browse/DOSGI-73
If it's not possible, I thugh I could use jaxrs:client and benefits
from the Spring EL to set the base URL.
----------------------------------------------------------
<jaxrs:client id="restClient"
address="${baseURL}/test/services/rest"
serviceClass="org.apache.cxf.dosgi.samples.springdm.DinnerService"
inheritHeaders="true">
</jaxrs:client>
----------------------------------------------------------
This will bypass the DOSGI client runtime...But may be it can be
acceptable for your project ?
Thanks, Sergey
Many thanks for your help.
Regards Angelo