In version 1.3.1 of dosgi the zookeeper discovery will not work when the server side is a relative url. So it is only possible to configure the
client side with a config file and use a fixed https: url there.

In the upcomin version 1.4.0 https should work by switching pax web to use https and use a relative url. You will also need to use two config properties on the server side in
etc/cxf-dsw.cfg
httpBase: base address of pax web like https://myserver
cxfServletAlias: Default /cxf

These are used to create an absolute url that is then published to zookeeper.

Christian

Am 11.12.2012 17:26, schrieb Sergey Beryozkin:
Hi
On 11/12/12 15:51, zi'an mu wrote:
I use the cxf-dosgi-ri-singlebundle-distribution to provider a
webservice.following the simple(like spring_dm and greeter_rest),I aleady
publish a helloworld serviece.here is my service config file.

<osgi:service interface="com.helloworld.dosgi.service.IHelloWorldService">
     <osgi:service-properties>
       <entry key="service.exported.interfaces" value="*" />
<entry key="service.exported.configs" value="org.apache.cxf.rs" />
       <entry key="service.exported.intents" value="HTTP" />
       <entry key="org.apache.cxf.rs.address" value="
http://localhost:9000/services"; />
     </osgi:service-properties>

<bean class="com.helloworld.dosgi.service.impl.HelloWorldServiceImpl" />
   </osgi:service>

now I want to use https for my demo service.
So I think if I can config Jetty runtime used for the CXF, and then I just need to modify the "org.apache.cxf.rs.address" to "https://xxxxx";. Is it
right?
if it is right,how to add the config file into my project? I read the doc (
http://cxf.apache.org/docs/jetty-configuration.html) and the demo
(wsdl_first_https),but they are not helpful for the osgi environment.

On the server side, you can set "org.apache.cxf.rs.address" to a relative value, say "/rs" and that (as Christian explained to me) will be linked to CXF Servlet Transport which is bound to OSGI HTTPService, the full address will be

"https://localhost:9000/cxf/rs";, where 'cxf' segment can be customized.

or use

"org.apache.cxf.rs.http.context" property instead - the only issue is that it does not work with the singlebundle distro at the moment. Using the multibundle one will be better

Not sure how to do things the DOSGI way on the client side though, in order to get HTTPS wired in ? This can be done with CXF outside of DOSgi, but not sure about DOSGi...

Christian, how would we do it :-) ?

Cheers, Sergey


--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
Talend Application Integration Division http://www.talend.com

Reply via email to