What did you try?

 
--
Andrea Cosentino 
----------------------------------
Apache Camel PMC Member
Apache Karaf Committer
Apache Servicemix PMC Member
Email: ancosen1...@yahoo.com
Twitter: @oscerd2
Github: oscerd


On Friday, May 12, 2017 8:10 AM, Pankaj Kumar <pankaj.bsr2...@gmail.com> wrote:



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.

Reply via email to