Hi , I am trying to configure the Netty4-Http for https url. I am using the tomcat server on the server side with port 8443 configured for https. I have created the certificate from the server machine and used the path in client machine for configuring the keystore. I am able to work with Netty4-Http perfectly when I use http url. but when I use https I am getting a resonse like "No Response from the server xx.xxx.xx.xx:8443 ." error. Please find my code below.
public class NorthboundDataWriter { private static final Logger LOG = LoggerFactory.getLogger(NorthboundDataWriter.class); private static NorthboundDataWriter northboundDataWriter; public static NorthboundDataWriter getInstance() { if (NorthboundDataWriter.northboundDataWriter == null) { NorthboundDataWriter.northboundDataWriter = new NorthboundDataWriter(); } return NorthboundDataWriter.northboundDataWriter; } private final CamelContext context; private final Map<String, Object> headers = new HashMap<>(); private NettyHttpEndpoint nettyHttpEndpoint; private final ProducerTemplate template; private NorthboundDataWriter() { this.context = new DefaultCamelContext(); NettyHttpComponent nettyHttpComponent = this.context.getComponent("netty4-http",org.apache.camel.component.netty4.http.NettyHttpComponent.class); NettyHttpConfiguration nettyconfig = new NettyHttpConfiguration(); nettyconfig.setKeepAlive(true); nettyconfig.setProtocol("tcp"); nettyconfig.setKeyStoreResource("file:C:/Users/jdavis/Desktop/certs/keystore.jks"); nettyconfig.setPassphrase("fcpaliaspwd"); nettyconfig.setSync(true); //nettyconfig.setTcpNoDelay(true); nettyconfig.setReuseChannel(true); //nettyconfig.setTrustStoreResource("file:C:/Users/jdavis/Desktop/certs/truststore.jks"); nettyconfig.setRequestTimeout(30000); nettyconfig.setConnectTimeout(30000); nettyconfig.setReuseAddress(true); // nettyconfig.setTextline(true); nettyconfig.setHost("xx.xxx.xxx.xx"); nettyconfig.setPort(8443); //nettyconfig.setNeedClientAuth(true); // nettyconfig.setDisconnect(false); // nettyconfig.setDisconnectOnNoReply(false); // nettyconfig.setBridgeEndpoint(true); nettyconfig.setSsl(true); /* nettyconfig.setBridgeEndpoint(true); nettyconfig.setClientMode(true);*/ /* KeyStoreParameters ksp = new KeyStoreParameters(); //ksp.setResource("C:\\Program Files\\Java\\jdk1.8.0_101\\bin\\store.jks"); ksp.setResource("C:/Users/jdavis/Desktop/server10Keystore"); ksp.setPassword("changeit"); KeyManagersParameters kmp = new KeyManagersParameters(); kmp.setKeyStore(ksp); kmp.setKeyPassword("changeit"); SSLContextParameters sslContextParameters = new SSLContextParameters(); sslContextParameters.setKeyManagers(kmp);*/ // nettyconfig.setSslContextParameters(sslContextParameters); // nettyHttpComponent.setConfiguration(nettyconfig); this.context.addComponent("fcpnettyhttpComponent", nettyHttpComponent); /*try { this.context.addRoutes(new RouteBuilder() { public void configure() { from("direct:start").to("netty4-http:https://xx.xxx.xxx.xx:8443"); } }); } catch (Exception e1) { LOG.error("Error in routing : ",e1); }*/ this.template = this.context.createProducerTemplate(); this.headers.put("Content-Type", "text/plain"); this.headers.put("CamelHttpMethod", HttpMethods.POST); this.headers.put("Connection", "Keep-Alive"); //this.headers.put("CamelHttpUrl","https://xx.xxx.xxx.xx:8443/NorthBound/server"); String endpoint = "netty4-http:https://xx.xxx.xxx.xx:8443/NorthBound/server"; try { this.nettyHttpEndpoint = this.context.getEndpoint(endpoint, org.apache.camel.component.netty4.http.NettyHttpEndpoint.class); this.nettyHttpEndpoint.configureProperties(this.headers); this.nettyHttpEndpoint.setConfiguration(nettyconfig); this.nettyHttpEndpoint.setExchangePattern(ExchangePattern.InOnly); this.template.start(); this.context.start(); } catch (final Exception e) { NorthboundDataWriter.LOG.error("Exception while starting Camel context ", e); } } public void sendDataNorthbound(final String message) { try { this.template.requestBodyAndHeaders(this.nettyHttpEndpoint,message, this.headers); //this.template.asyncRequestBodyAndHeaders(this.nettyHttpEndpoint, message, this.headers); } catch (final CamelExecutionException e) { NorthboundDataWriter.LOG.error("Error while sending data", e); } } public void stop() { try { this.template.stop(); this.context.stop(); } catch (final Exception e) { NorthboundDataWriter.LOG.error("Exception while stopping Camel context ", e); } } } -- View this message in context: http://camel.465427.n5.nabble.com/Netty4-HTTP-component-for-HTTPS-Issues-tp5798629.html Sent from the Camel - Users mailing list archive at Nabble.com.