camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sergey Beryozkin <sberyoz...@gmail.com>
Subject Re: Camel CXF HTTPS
Date Wed, 24 Oct 2012 21:15:59 GMT
Hi
On 24/10/12 19:34, rxm0203 wrote:
> Hello All,
>
> I am trying to configure HTTPS for multiple OSGi bundles containing RESTful
> web services through PAX Web. These bundles are deployed in
> apache-servicemix-4.4.1-fuse-02-05 (Camel version 2.8 and CXF version
> 2.4.3.)  Here is a sample route from one bundle.
>
>   <cxf:rsServer id="rsServer" address="${ws.address}"
> serviceClass="net.examples.ServiceResource"/>
>    <camelContext xmlns="http://camel.apache.org/schema/spring">
>      <route id="control">
>        <from uri="cxfrs:bean:rsServer"/>
>        <log  message="Processing Request" />
>        <to uri="controllerBean"/>
>      </route>
>    </camelContext>
>
> Address for<rsServer>  is injected from properties file. The value for
> address in properties file is https://0.0.0.0:443/example
>

the servlet transport is bypassed when an absolute address is used, I 
think an address like "/example" can work better, can you try it please ?

Cheers, Sergey

> The contents of PAX Web configuration file under<KARAF.HOME>/etc folder are
> as follows:
>
> org.osgi.service.http.enabled=false
> org.osgi.service.http.port=8181
>
> org.osgi.service.http.secure.enabled=true
> org.osgi.service.http.port.secure=443
>
> org.ops4j.pax.web.ssl.keystore=etc/file.keystore
> org.ops4j.pax.web.ssl.keystore.type=JKS
> org.ops4j.pax.web.ssl.password=password
> org.ops4j.pax.web.ssl.keypassword=keyPassword
>
> javax.servlet.context.tempdir=data/pax-web-jsp
>
> I see following error in ServiceMix log file on start up from all OSGi
> bundles.
>
> Caused by: java.lang.RuntimeException: Protocol mismatch for port 443:
> engine's protocol is http, the url protocol is https
> 	at
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.finalizeConfig(JettyHTTPDestination.java:150)[133:org.apache.cxf.bundle:2.4.3.fuse-01-02]
> 	at
> org.apache.cxf.transport.http.HTTPTransportFactory.getDestination(HTTPTransportFactory.java:284)[133:org.apache.cxf.bundle:2.4.3.fuse-01-02]
> 	at
> org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:93)[133:org.apache.cxf.bundle:2.4.3.fuse-01-02]
> 	at
> org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:72)[133:org.apache.cxf.bundle:2.4.3.fuse-01-02]
> 	at
> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:149)[133:org.apache.cxf.bundle:2.4.3.fuse-01-02]
> 	... 26 more
> Caused by: java.io.IOException: Protocol mismatch for port 443: engine's
> protocol is http, the url protocol is https
> 	at
> org.apache.cxf.transport.http_jetty.JettyHTTPServerEngineFactory.createJettyHTTPServerEngine(JettyHTTPServerEngineFactory.java:254)[133:org.apache.cxf.bundle:2.4.3.fuse-01-02]
> 	at
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.retrieveEngine(JettyHTTPDestination.java:115)[133:org.apache.cxf.bundle:2.4.3.fuse-01-02]
> 	at
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.finalizeConfig(JettyHTTPDestination.java:148)[133:org.apache.cxf.bundle:2.4.3.fuse-01-02]
>
> Is there any other configuration/settings required? I want to setup HTTPS at
> container level so that we do not need to switch between HTTP (QA
> environment) and HTTPS (Production Environment)
>
> I appreciate your help.
>
> Thanks,
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/Camel-CXF-HTTPS-tp5721517.html
> Sent from the Camel - Users mailing list archive at Nabble.com.


Mime
View raw message