Исключение в callEtislat - ex :: javax.net.ssl.SSLException: получено фатальное предупреждение: protocol_version - PullRequest
0 голосов
/ 10 октября 2019

Я отладил ssl handshake,

Даже попытался установить System.setProperty ("https.protocols", "TLSv1.2");все еще безуспешно.

Я не могу выяснить точную причину этой проблемы.

Может кто-нибудь, пожалуйста, помогите мне в этом. Я использую Java 1.7.0_79

public static String callSOAPService() throws Exception {

    HttpClient m_HttpClient = null;
    PostMethod m_PostMthd = null;
    SimpleHttpConnectionManager m_simpleHttpConMnger = new SimpleHttpConnectionManager();

    String lResMessage = null;
    String urlEndpoint = null;
    int timeoutInMilliseconds = 0;

    try {

        urlEndpoint = "https://www.los.com/LOSApsServices/emailService";
        timeoutInMilliseconds = 900000;
        m_PostMthd = new PostMethod(urlEndpoint);
        m_HttpClient = new HttpClient(m_simpleHttpConMnger);
        HttpConnectionManagerParams lhttpConMnger = m_simpleHttpConMnger.getParams();
        lhttpConMnger.setConnectionTimeout(timeoutInMilliseconds);
        lhttpConMnger.setSoTimeout(timeoutInMilliseconds);

        m_PostMthd.setRequestHeader("Content-Type", "application/json");
        m_PostMthd.setRequestHeader("Username", "LOSONLINE"); 
        m_PostMthd.setRequestHeader("Password", "LOS123");
        m_PostMthd.setRequestHeader("Req_RefNo", "101012162154000393");
        m_PostMthd.setRequestEntity(new StringRequestEntity(reqxml));

        String m_truststore ="/usr1/SIR13189/mydomain/statusupdatefailing/certificate.jks";
        String lvKeyStorePassword = "changeit";

        System.setProperty("javax.net.debug", "ssl,handshake");

        System.setProperty("https.protocols", "TLSv1.2,SSLV3");
        System.setProperty("javax.net.ssl.keyStore", m_truststore);
        System.setProperty("javax.net.ssl.keyStorePassword", lvKeyStorePassword);


        int l_status = m_HttpClient.executeMethod(m_PostMthd);
        String stsTxt = m_PostMthd.getStatusText();
        lResMessage = m_PostMthd.getResponseBodyAsString();
        if (lResMessage != null && lResMessage.length() > 0) {
            System.out.println("jssecacerts RESPONSE MESSAGE 333:" + lResMessage + "\n");
        } else {
            System.out.println("jssecacerts NO RESPONSE ..Status \n" + l_status);
        }
        System.out.println("StatusText " + stsTxt + "\n");
    } catch (Exception ex) {
        System.out.println(" Exception in callEtislat - ex::" + ex.toString());
        throw ex;
    }
    return lResMessage;
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...