Java 调用Web服务(SSL)时出错

Java 调用Web服务(SSL)时出错,java,web-services,ssl,Java,Web Services,Ssl,当我调用我的Webservice时,我遇到如下错误,请解释我如何解决这个问题 public String retrieveMngTracking(ArrayList paramList) throws Exception { //ı added for SSL HostnameVerifier hv = new HostnameVerifier() { public boolean verify(String urlHostNam

当我调用我的Webservice时,我遇到如下错误,请解释我如何解决这个问题

       public String retrieveMngTracking(ArrayList paramList) throws Exception {

             //ı added for SSL
    HostnameVerifier hv = new HostnameVerifier() {
        public boolean verify(String urlHostName, SSLSession session) {
            System.out.println("Warning: URL Host: " + urlHostName
                    + " vs. " + session.getPeerHost());
            return true;
        }
    };



    ParamMap paramMap = FlexUtil.getParamMap(paramList);

    URL url = new URL(paramMap.getString("url"));

    //Call this function for SSL
    trustAllHttpsCertificates();
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setDoInput(true);
    conn.setDoOutput(true);
    conn.setUseCaches(false);
    conn.setReadTimeout(20000);
    conn.setRequestMethod("POST");
    conn.setRequestProperty("Content-type",
            "application/x-www-form-urlencoded");

    OutputStream os = conn.getOutputStream();
    OutputStreamWriter wr = new OutputStreamWriter(os);

    wr.write("pMusteriNo=" + paramMap.getString("pMusteriNo"));
    wr.write("&pSifre=" + paramMap.getString("pSifre"));
    wr.write("&pSiparisNo=" + paramMap.getString("pSiparisNo"));
    wr.write("&pKriter=" + paramMap.getString("pKriter"));

    wr.flush();

    wr.close();
    os.close();

    StringBuffer sb = new StringBuffer();
    BufferedReader br = new BufferedReader(new InputStreamReader(
            conn.getInputStream()));

    String response = "";
    for (;;) {
        String line = br.readLine();
        if (line == null)
            break;
        response += line + "\n";
    }
    br.close();

    conn.disconnect();

    return response;
}
     public static class miTM implements javax.net.ssl.TrustManager,
        javax.net.ssl.X509TrustManager {
    public java.security.cert.X509Certificate[] getAcceptedIssuers() {
        return null;
    }

    public boolean isServerTrusted(
            java.security.cert.X509Certificate[] certs) {
        return true;
    }

    public boolean isClientTrusted(
            java.security.cert.X509Certificate[] certs) {
        return true;
    }

    public void checkServerTrusted(
            java.security.cert.X509Certificate[] certs, String authType)
            throws java.security.cert.CertificateException {
        return;
    }

    public void checkClientTrusted(
            java.security.cert.X509Certificate[] certs, String authType)
            throws java.security.cert.CertificateException {
        return;
    }
}

private static void trustAllHttpsCertificates() throws Exception {

    // Create a trust manager that does not validate certificate chains:

    javax.net.ssl.TrustManager[] trustAllCerts =

    new javax.net.ssl.TrustManager[1];

    javax.net.ssl.TrustManager tm = new miTM();

    trustAllCerts[0] = tm;

    javax.net.ssl.SSLContext sc =

    javax.net.ssl.SSLContext.getInstance("SSL");

    sc.init(null, trustAllCerts, null);

    javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(

    sc.getSocketFactory());

}
错误是:

       public String retrieveMngTracking(ArrayList paramList) throws Exception {

             //ı added for SSL
    HostnameVerifier hv = new HostnameVerifier() {
        public boolean verify(String urlHostName, SSLSession session) {
            System.out.println("Warning: URL Host: " + urlHostName
                    + " vs. " + session.getPeerHost());
            return true;
        }
    };



    ParamMap paramMap = FlexUtil.getParamMap(paramList);

    URL url = new URL(paramMap.getString("url"));

    //Call this function for SSL
    trustAllHttpsCertificates();
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setDoInput(true);
    conn.setDoOutput(true);
    conn.setUseCaches(false);
    conn.setReadTimeout(20000);
    conn.setRequestMethod("POST");
    conn.setRequestProperty("Content-type",
            "application/x-www-form-urlencoded");

    OutputStream os = conn.getOutputStream();
    OutputStreamWriter wr = new OutputStreamWriter(os);

    wr.write("pMusteriNo=" + paramMap.getString("pMusteriNo"));
    wr.write("&pSifre=" + paramMap.getString("pSifre"));
    wr.write("&pSiparisNo=" + paramMap.getString("pSiparisNo"));
    wr.write("&pKriter=" + paramMap.getString("pKriter"));

    wr.flush();

    wr.close();
    os.close();

    StringBuffer sb = new StringBuffer();
    BufferedReader br = new BufferedReader(new InputStreamReader(
            conn.getInputStream()));

    String response = "";
    for (;;) {
        String line = br.readLine();
        if (line == null)
            break;
        response += line + "\n";
    }
    br.close();

    conn.disconnect();

    return response;
}
     public static class miTM implements javax.net.ssl.TrustManager,
        javax.net.ssl.X509TrustManager {
    public java.security.cert.X509Certificate[] getAcceptedIssuers() {
        return null;
    }

    public boolean isServerTrusted(
            java.security.cert.X509Certificate[] certs) {
        return true;
    }

    public boolean isClientTrusted(
            java.security.cert.X509Certificate[] certs) {
        return true;
    }

    public void checkServerTrusted(
            java.security.cert.X509Certificate[] certs, String authType)
            throws java.security.cert.CertificateException {
        return;
    }

    public void checkClientTrusted(
            java.security.cert.X509Certificate[] certs, String authType)
            throws java.security.cert.CertificateException {
        return;
    }
}

private static void trustAllHttpsCertificates() throws Exception {

    // Create a trust manager that does not validate certificate chains:

    javax.net.ssl.TrustManager[] trustAllCerts =

    new javax.net.ssl.TrustManager[1];

    javax.net.ssl.TrustManager tm = new miTM();

    trustAllCerts[0] = tm;

    javax.net.ssl.SSLContext sc =

    javax.net.ssl.SSLContext.getInstance("SSL");

    sc.init(null, trustAllCerts, null);

    javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(

    sc.getSocketFactory());

}
故障描述:nulldetail:故障代码:服务器。正在处理
faultString:'javax.net.ssl.SSLHandshakeException:General SSLEngine 问题'faultDetail:'null'

       public String retrieveMngTracking(ArrayList paramList) throws Exception {

             //ı added for SSL
    HostnameVerifier hv = new HostnameVerifier() {
        public boolean verify(String urlHostName, SSLSession session) {
            System.out.println("Warning: URL Host: " + urlHostName
                    + " vs. " + session.getPeerHost());
            return true;
        }
    };



    ParamMap paramMap = FlexUtil.getParamMap(paramList);

    URL url = new URL(paramMap.getString("url"));

    //Call this function for SSL
    trustAllHttpsCertificates();
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setDoInput(true);
    conn.setDoOutput(true);
    conn.setUseCaches(false);
    conn.setReadTimeout(20000);
    conn.setRequestMethod("POST");
    conn.setRequestProperty("Content-type",
            "application/x-www-form-urlencoded");

    OutputStream os = conn.getOutputStream();
    OutputStreamWriter wr = new OutputStreamWriter(os);

    wr.write("pMusteriNo=" + paramMap.getString("pMusteriNo"));
    wr.write("&pSifre=" + paramMap.getString("pSifre"));
    wr.write("&pSiparisNo=" + paramMap.getString("pSiparisNo"));
    wr.write("&pKriter=" + paramMap.getString("pKriter"));

    wr.flush();

    wr.close();
    os.close();

    StringBuffer sb = new StringBuffer();
    BufferedReader br = new BufferedReader(new InputStreamReader(
            conn.getInputStream()));

    String response = "";
    for (;;) {
        String line = br.readLine();
        if (line == null)
            break;
        response += line + "\n";
    }
    br.close();

    conn.disconnect();

    return response;
}
     public static class miTM implements javax.net.ssl.TrustManager,
        javax.net.ssl.X509TrustManager {
    public java.security.cert.X509Certificate[] getAcceptedIssuers() {
        return null;
    }

    public boolean isServerTrusted(
            java.security.cert.X509Certificate[] certs) {
        return true;
    }

    public boolean isClientTrusted(
            java.security.cert.X509Certificate[] certs) {
        return true;
    }

    public void checkServerTrusted(
            java.security.cert.X509Certificate[] certs, String authType)
            throws java.security.cert.CertificateException {
        return;
    }

    public void checkClientTrusted(
            java.security.cert.X509Certificate[] certs, String authType)
            throws java.security.cert.CertificateException {
        return;
    }
}

private static void trustAllHttpsCertificates() throws Exception {

    // Create a trust manager that does not validate certificate chains:

    javax.net.ssl.TrustManager[] trustAllCerts =

    new javax.net.ssl.TrustManager[1];

    javax.net.ssl.TrustManager tm = new miTM();

    trustAllCerts[0] = tm;

    javax.net.ssl.SSLContext sc =

    javax.net.ssl.SSLContext.getInstance("SSL");

    sc.init(null, trustAllCerts, null);

    javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(

    sc.getSocketFactory());

}
我在本地使用tomcat服务器

       public String retrieveMngTracking(ArrayList paramList) throws Exception {

             //ı added for SSL
    HostnameVerifier hv = new HostnameVerifier() {
        public boolean verify(String urlHostName, SSLSession session) {
            System.out.println("Warning: URL Host: " + urlHostName
                    + " vs. " + session.getPeerHost());
            return true;
        }
    };



    ParamMap paramMap = FlexUtil.getParamMap(paramList);

    URL url = new URL(paramMap.getString("url"));

    //Call this function for SSL
    trustAllHttpsCertificates();
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setDoInput(true);
    conn.setDoOutput(true);
    conn.setUseCaches(false);
    conn.setReadTimeout(20000);
    conn.setRequestMethod("POST");
    conn.setRequestProperty("Content-type",
            "application/x-www-form-urlencoded");

    OutputStream os = conn.getOutputStream();
    OutputStreamWriter wr = new OutputStreamWriter(os);

    wr.write("pMusteriNo=" + paramMap.getString("pMusteriNo"));
    wr.write("&pSifre=" + paramMap.getString("pSifre"));
    wr.write("&pSiparisNo=" + paramMap.getString("pSiparisNo"));
    wr.write("&pKriter=" + paramMap.getString("pKriter"));

    wr.flush();

    wr.close();
    os.close();

    StringBuffer sb = new StringBuffer();
    BufferedReader br = new BufferedReader(new InputStreamReader(
            conn.getInputStream()));

    String response = "";
    for (;;) {
        String line = br.readLine();
        if (line == null)
            break;
        response += line + "\n";
    }
    br.close();

    conn.disconnect();

    return response;
}
     public static class miTM implements javax.net.ssl.TrustManager,
        javax.net.ssl.X509TrustManager {
    public java.security.cert.X509Certificate[] getAcceptedIssuers() {
        return null;
    }

    public boolean isServerTrusted(
            java.security.cert.X509Certificate[] certs) {
        return true;
    }

    public boolean isClientTrusted(
            java.security.cert.X509Certificate[] certs) {
        return true;
    }

    public void checkServerTrusted(
            java.security.cert.X509Certificate[] certs, String authType)
            throws java.security.cert.CertificateException {
        return;
    }

    public void checkClientTrusted(
            java.security.cert.X509Certificate[] certs, String authType)
            throws java.security.cert.CertificateException {
        return;
    }
}

private static void trustAllHttpsCertificates() throws Exception {

    // Create a trust manager that does not validate certificate chains:

    javax.net.ssl.TrustManager[] trustAllCerts =

    new javax.net.ssl.TrustManager[1];

    javax.net.ssl.TrustManager tm = new miTM();

    trustAllCerts[0] = tm;

    javax.net.ssl.SSLContext sc =

    javax.net.ssl.SSLContext.getInstance("SSL");

    sc.init(null, trustAllCerts, null);

    javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(

    sc.getSocketFactory());

}
我正在使用1.6 Java运行时环境,并将Webservice SSL添加到:

       public String retrieveMngTracking(ArrayList paramList) throws Exception {

             //ı added for SSL
    HostnameVerifier hv = new HostnameVerifier() {
        public boolean verify(String urlHostName, SSLSession session) {
            System.out.println("Warning: URL Host: " + urlHostName
                    + " vs. " + session.getPeerHost());
            return true;
        }
    };



    ParamMap paramMap = FlexUtil.getParamMap(paramList);

    URL url = new URL(paramMap.getString("url"));

    //Call this function for SSL
    trustAllHttpsCertificates();
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setDoInput(true);
    conn.setDoOutput(true);
    conn.setUseCaches(false);
    conn.setReadTimeout(20000);
    conn.setRequestMethod("POST");
    conn.setRequestProperty("Content-type",
            "application/x-www-form-urlencoded");

    OutputStream os = conn.getOutputStream();
    OutputStreamWriter wr = new OutputStreamWriter(os);

    wr.write("pMusteriNo=" + paramMap.getString("pMusteriNo"));
    wr.write("&pSifre=" + paramMap.getString("pSifre"));
    wr.write("&pSiparisNo=" + paramMap.getString("pSiparisNo"));
    wr.write("&pKriter=" + paramMap.getString("pKriter"));

    wr.flush();

    wr.close();
    os.close();

    StringBuffer sb = new StringBuffer();
    BufferedReader br = new BufferedReader(new InputStreamReader(
            conn.getInputStream()));

    String response = "";
    for (;;) {
        String line = br.readLine();
        if (line == null)
            break;
        response += line + "\n";
    }
    br.close();

    conn.disconnect();

    return response;
}
     public static class miTM implements javax.net.ssl.TrustManager,
        javax.net.ssl.X509TrustManager {
    public java.security.cert.X509Certificate[] getAcceptedIssuers() {
        return null;
    }

    public boolean isServerTrusted(
            java.security.cert.X509Certificate[] certs) {
        return true;
    }

    public boolean isClientTrusted(
            java.security.cert.X509Certificate[] certs) {
        return true;
    }

    public void checkServerTrusted(
            java.security.cert.X509Certificate[] certs, String authType)
            throws java.security.cert.CertificateException {
        return;
    }

    public void checkClientTrusted(
            java.security.cert.X509Certificate[] certs, String authType)
            throws java.security.cert.CertificateException {
        return;
    }
}

private static void trustAllHttpsCertificates() throws Exception {

    // Create a trust manager that does not validate certificate chains:

    javax.net.ssl.TrustManager[] trustAllCerts =

    new javax.net.ssl.TrustManager[1];

    javax.net.ssl.TrustManager tm = new miTM();

    trustAllCerts[0] = tm;

    javax.net.ssl.SSLContext sc =

    javax.net.ssl.SSLContext.getInstance("SSL");

    sc.init(null, trustAllCerts, null);

    javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(

    sc.getSocketFactory());

}
jdk1.6>jre>lib>security>cacerts

       public String retrieveMngTracking(ArrayList paramList) throws Exception {

             //ı added for SSL
    HostnameVerifier hv = new HostnameVerifier() {
        public boolean verify(String urlHostName, SSLSession session) {
            System.out.println("Warning: URL Host: " + urlHostName
                    + " vs. " + session.getPeerHost());
            return true;
        }
    };



    ParamMap paramMap = FlexUtil.getParamMap(paramList);

    URL url = new URL(paramMap.getString("url"));

    //Call this function for SSL
    trustAllHttpsCertificates();
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setDoInput(true);
    conn.setDoOutput(true);
    conn.setUseCaches(false);
    conn.setReadTimeout(20000);
    conn.setRequestMethod("POST");
    conn.setRequestProperty("Content-type",
            "application/x-www-form-urlencoded");

    OutputStream os = conn.getOutputStream();
    OutputStreamWriter wr = new OutputStreamWriter(os);

    wr.write("pMusteriNo=" + paramMap.getString("pMusteriNo"));
    wr.write("&pSifre=" + paramMap.getString("pSifre"));
    wr.write("&pSiparisNo=" + paramMap.getString("pSiparisNo"));
    wr.write("&pKriter=" + paramMap.getString("pKriter"));

    wr.flush();

    wr.close();
    os.close();

    StringBuffer sb = new StringBuffer();
    BufferedReader br = new BufferedReader(new InputStreamReader(
            conn.getInputStream()));

    String response = "";
    for (;;) {
        String line = br.readLine();
        if (line == null)
            break;
        response += line + "\n";
    }
    br.close();

    conn.disconnect();

    return response;
}
     public static class miTM implements javax.net.ssl.TrustManager,
        javax.net.ssl.X509TrustManager {
    public java.security.cert.X509Certificate[] getAcceptedIssuers() {
        return null;
    }

    public boolean isServerTrusted(
            java.security.cert.X509Certificate[] certs) {
        return true;
    }

    public boolean isClientTrusted(
            java.security.cert.X509Certificate[] certs) {
        return true;
    }

    public void checkServerTrusted(
            java.security.cert.X509Certificate[] certs, String authType)
            throws java.security.cert.CertificateException {
        return;
    }

    public void checkClientTrusted(
            java.security.cert.X509Certificate[] certs, String authType)
            throws java.security.cert.CertificateException {
        return;
    }
}

private static void trustAllHttpsCertificates() throws Exception {

    // Create a trust manager that does not validate certificate chains:

    javax.net.ssl.TrustManager[] trustAllCerts =

    new javax.net.ssl.TrustManager[1];

    javax.net.ssl.TrustManager tm = new miTM();

    trustAllCerts[0] = tm;

    javax.net.ssl.SSLContext sc =

    javax.net.ssl.SSLContext.getInstance("SSL");

    sc.init(null, trustAllCerts, null);

    javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(

    sc.getSocketFactory());

}

但一切都没有改变。我需要配置我的tomcat服务器吗?我解决了这个问题。您不需要对服务器进行任何配置。或者JRE。
       public String retrieveMngTracking(ArrayList paramList) throws Exception {

             //ı added for SSL
    HostnameVerifier hv = new HostnameVerifier() {
        public boolean verify(String urlHostName, SSLSession session) {
            System.out.println("Warning: URL Host: " + urlHostName
                    + " vs. " + session.getPeerHost());
            return true;
        }
    };



    ParamMap paramMap = FlexUtil.getParamMap(paramList);

    URL url = new URL(paramMap.getString("url"));

    //Call this function for SSL
    trustAllHttpsCertificates();
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setDoInput(true);
    conn.setDoOutput(true);
    conn.setUseCaches(false);
    conn.setReadTimeout(20000);
    conn.setRequestMethod("POST");
    conn.setRequestProperty("Content-type",
            "application/x-www-form-urlencoded");

    OutputStream os = conn.getOutputStream();
    OutputStreamWriter wr = new OutputStreamWriter(os);

    wr.write("pMusteriNo=" + paramMap.getString("pMusteriNo"));
    wr.write("&pSifre=" + paramMap.getString("pSifre"));
    wr.write("&pSiparisNo=" + paramMap.getString("pSiparisNo"));
    wr.write("&pKriter=" + paramMap.getString("pKriter"));

    wr.flush();

    wr.close();
    os.close();

    StringBuffer sb = new StringBuffer();
    BufferedReader br = new BufferedReader(new InputStreamReader(
            conn.getInputStream()));

    String response = "";
    for (;;) {
        String line = br.readLine();
        if (line == null)
            break;
        response += line + "\n";
    }
    br.close();

    conn.disconnect();

    return response;
}
     public static class miTM implements javax.net.ssl.TrustManager,
        javax.net.ssl.X509TrustManager {
    public java.security.cert.X509Certificate[] getAcceptedIssuers() {
        return null;
    }

    public boolean isServerTrusted(
            java.security.cert.X509Certificate[] certs) {
        return true;
    }

    public boolean isClientTrusted(
            java.security.cert.X509Certificate[] certs) {
        return true;
    }

    public void checkServerTrusted(
            java.security.cert.X509Certificate[] certs, String authType)
            throws java.security.cert.CertificateException {
        return;
    }

    public void checkClientTrusted(
            java.security.cert.X509Certificate[] certs, String authType)
            throws java.security.cert.CertificateException {
        return;
    }
}

private static void trustAllHttpsCertificates() throws Exception {

    // Create a trust manager that does not validate certificate chains:

    javax.net.ssl.TrustManager[] trustAllCerts =

    new javax.net.ssl.TrustManager[1];

    javax.net.ssl.TrustManager tm = new miTM();

    trustAllCerts[0] = tm;

    javax.net.ssl.SSLContext sc =

    javax.net.ssl.SSLContext.getInstance("SSL");

    sc.init(null, trustAllCerts, null);

    javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(

    sc.getSocketFactory());

}
把它放在这个代码里

       public String retrieveMngTracking(ArrayList paramList) throws Exception {

             //ı added for SSL
    HostnameVerifier hv = new HostnameVerifier() {
        public boolean verify(String urlHostName, SSLSession session) {
            System.out.println("Warning: URL Host: " + urlHostName
                    + " vs. " + session.getPeerHost());
            return true;
        }
    };



    ParamMap paramMap = FlexUtil.getParamMap(paramList);

    URL url = new URL(paramMap.getString("url"));

    //Call this function for SSL
    trustAllHttpsCertificates();
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setDoInput(true);
    conn.setDoOutput(true);
    conn.setUseCaches(false);
    conn.setReadTimeout(20000);
    conn.setRequestMethod("POST");
    conn.setRequestProperty("Content-type",
            "application/x-www-form-urlencoded");

    OutputStream os = conn.getOutputStream();
    OutputStreamWriter wr = new OutputStreamWriter(os);

    wr.write("pMusteriNo=" + paramMap.getString("pMusteriNo"));
    wr.write("&pSifre=" + paramMap.getString("pSifre"));
    wr.write("&pSiparisNo=" + paramMap.getString("pSiparisNo"));
    wr.write("&pKriter=" + paramMap.getString("pKriter"));

    wr.flush();

    wr.close();
    os.close();

    StringBuffer sb = new StringBuffer();
    BufferedReader br = new BufferedReader(new InputStreamReader(
            conn.getInputStream()));

    String response = "";
    for (;;) {
        String line = br.readLine();
        if (line == null)
            break;
        response += line + "\n";
    }
    br.close();

    conn.disconnect();

    return response;
}
     public static class miTM implements javax.net.ssl.TrustManager,
        javax.net.ssl.X509TrustManager {
    public java.security.cert.X509Certificate[] getAcceptedIssuers() {
        return null;
    }

    public boolean isServerTrusted(
            java.security.cert.X509Certificate[] certs) {
        return true;
    }

    public boolean isClientTrusted(
            java.security.cert.X509Certificate[] certs) {
        return true;
    }

    public void checkServerTrusted(
            java.security.cert.X509Certificate[] certs, String authType)
            throws java.security.cert.CertificateException {
        return;
    }

    public void checkClientTrusted(
            java.security.cert.X509Certificate[] certs, String authType)
            throws java.security.cert.CertificateException {
        return;
    }
}

private static void trustAllHttpsCertificates() throws Exception {

    // Create a trust manager that does not validate certificate chains:

    javax.net.ssl.TrustManager[] trustAllCerts =

    new javax.net.ssl.TrustManager[1];

    javax.net.ssl.TrustManager tm = new miTM();

    trustAllCerts[0] = tm;

    javax.net.ssl.SSLContext sc =

    javax.net.ssl.SSLContext.getInstance("SSL");

    sc.init(null, trustAllCerts, null);

    javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(

    sc.getSocketFactory());

}

好的,我本地的一切都很完美,我的本地服务器是tomcat。但当ı想要部署Weblogic服务器时,给出了相同的错误。请解释一下为什么我的本地设备都能正常工作,但现在weblogic服务器出现了问题。

非常糟糕的风格。永远不要修改jre目录中的内容,除非没有其他方法获得相同的结果!检查StackOverflow以了解如何添加自定义信任证书的其他方法。非常感谢您的回复。
       public String retrieveMngTracking(ArrayList paramList) throws Exception {

             //ı added for SSL
    HostnameVerifier hv = new HostnameVerifier() {
        public boolean verify(String urlHostName, SSLSession session) {
            System.out.println("Warning: URL Host: " + urlHostName
                    + " vs. " + session.getPeerHost());
            return true;
        }
    };



    ParamMap paramMap = FlexUtil.getParamMap(paramList);

    URL url = new URL(paramMap.getString("url"));

    //Call this function for SSL
    trustAllHttpsCertificates();
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setDoInput(true);
    conn.setDoOutput(true);
    conn.setUseCaches(false);
    conn.setReadTimeout(20000);
    conn.setRequestMethod("POST");
    conn.setRequestProperty("Content-type",
            "application/x-www-form-urlencoded");

    OutputStream os = conn.getOutputStream();
    OutputStreamWriter wr = new OutputStreamWriter(os);

    wr.write("pMusteriNo=" + paramMap.getString("pMusteriNo"));
    wr.write("&pSifre=" + paramMap.getString("pSifre"));
    wr.write("&pSiparisNo=" + paramMap.getString("pSiparisNo"));
    wr.write("&pKriter=" + paramMap.getString("pKriter"));

    wr.flush();

    wr.close();
    os.close();

    StringBuffer sb = new StringBuffer();
    BufferedReader br = new BufferedReader(new InputStreamReader(
            conn.getInputStream()));

    String response = "";
    for (;;) {
        String line = br.readLine();
        if (line == null)
            break;
        response += line + "\n";
    }
    br.close();

    conn.disconnect();

    return response;
}
     public static class miTM implements javax.net.ssl.TrustManager,
        javax.net.ssl.X509TrustManager {
    public java.security.cert.X509Certificate[] getAcceptedIssuers() {
        return null;
    }

    public boolean isServerTrusted(
            java.security.cert.X509Certificate[] certs) {
        return true;
    }

    public boolean isClientTrusted(
            java.security.cert.X509Certificate[] certs) {
        return true;
    }

    public void checkServerTrusted(
            java.security.cert.X509Certificate[] certs, String authType)
            throws java.security.cert.CertificateException {
        return;
    }

    public void checkClientTrusted(
            java.security.cert.X509Certificate[] certs, String authType)
            throws java.security.cert.CertificateException {
        return;
    }
}

private static void trustAllHttpsCertificates() throws Exception {

    // Create a trust manager that does not validate certificate chains:

    javax.net.ssl.TrustManager[] trustAllCerts =

    new javax.net.ssl.TrustManager[1];

    javax.net.ssl.TrustManager tm = new miTM();

    trustAllCerts[0] = tm;

    javax.net.ssl.SSLContext sc =

    javax.net.ssl.SSLContext.getInstance("SSL");

    sc.init(null, trustAllCerts, null);

    javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(

    sc.getSocketFactory());

}