Hi All, I'm new to camel. Plese suggest me how Ican change this class into camel route xml. Plese give me suggestions
import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.net.InetSocketAddress; import java.net.Proxy; import java.net.URL; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import javax.inject.Named; import javax.net.ssl.HostnameVerifier; import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.KeyManager; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSession; import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; public class RequestResponseIml implements RequestResponse { @Value(value = "${proxy.host}") private String proxyHost; @Value(value = "${proxy.port}") private String proxyPort; @Value(value = "${SSL_CONTEXT}") private String ssl_context_version; public String invokeAction(String url, String token) throws Exception { SSLContext sslcontext = null; String response = ""; try { sslcontext = SSLContext.getInstance(ssl_context_version); sslcontext.init(new KeyManager[0], new TrustManager[] { new TrustManager() }, new SecureRandom()); } catch (NoSuchAlgorithmException e) { logger.info("Error NoSuchAlgorithmException " + e.getLocalizedMessage()); } catch (KeyManagementException e) { logger.info("Error KeyManagementException " + e.getLocalizedMessage()); } catch (Exception e) { logger.error("Exception in getting Instance of SSLContext: " + e.toString()); throw e; } try { SSLSocketFactory factory = sslcontext.getSocketFactory(); logger.info("Creating HttpsURLConnection"); HttpsURLConnection connection = null; InputStream is = null; Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, Integer.parseInt(proxyPort))); connection = (HttpsURLConnection) new URL(url).openConnection(proxy); logger.info("HttpsURLConnection has created "+connection); connection.setRequestMethod("POST"); connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded"); connection.setRequestProperty("Content-Length", "" + Integer.toString(token.getBytes().length)); connection.setRequestProperty("Content-Language", "en-US"); connection.setUseCaches (false); connection.setDoInput(true); connection.setDoOutput(true); connection.setSSLSocketFactory(factory); logger.info("connection setSSLSocketFactory"); connection.setHostnameVerifier(new HostnameVerifier()); logger.info("connection setHostnameVerifier"); OutputStream os = connection.getOutputStream(); OutputStreamWriter osw = new OutputStreamWriter(os); osw.write(token); osw.flush(); osw.close(); is =connection.getInputStream(); BufferedReader in = new BufferedReader(new InputStreamReader(is)); response = in.readLine(); logger.info("Output from NSDL "+response); is.close(); in.close(); } catch (UnsupportedEncodingException e) { String encodeException = "Unsupported Encoding Exception - " + e.getMessage(); logger.error(encodeException); } catch(Exception e) { logger.info("Error in invokeAction - " + e.getLocalizedMessage()); logger.info("Error in invokeAction StactTrace - " + e.getStackTrace()); //e.printStackTrace(); } return response; } public static class TrustManager implements X509TrustManager { public boolean isClientTrusted(X509Certificate cert[]) { return true; } public boolean isServerTrusted(X509Certificate cert[]) { return true; } @Override public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; } @Override public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { } @Override public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { } } public static class HostnameVerifier implements HostnameVerifier { @Override public boolean verify(String arg0, SSLSession arg1) { return true; } public boolean verify(String urlHostname, String certHostname) { return true; } } } -- View this message in context: http://camel.465427.n5.nabble.com/Camel-with-SSL-and-HostNameVerifier-tp5799349.html Sent from the Camel - Users mailing list archive at Nabble.com.