有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

web服务HTTP传输错误:java。网ConnectException:连接超时:连接

这里,我正在创建客户机项目并尝试调用/使用soap Web服务

但每次都会出现同样的错误 HTTP传输错误:java。网ConnectException:连接超时:连接

它是非常安全的,供应商提供了使用它的证书和密码

我对SSL配置有点困惑。请检查以下代码,并建议正确的方法来做所有的SSL配置,如果它是错误的

systemProps.setProperty("javax.net.ssl.keyStore", new File("Path of Certificate").getAbsolutePath());
            systemProps.setProperty("javax.net.ssl.keyStorePassword", "***");
            systemProps.setProperty("javax.net.ssl.keyStoreType", "pkcs12");
            systemProps.setProperty("java.net.useSystemProxies", "true");


            String provider = System.getProperty("javax.net.ssl.keyStoreProvider");
            String keyStoreType = systemProps.getProperty("javax.net.ssl.keyStoreType");
            KeyStore ks = null;
            if (provider != null) {
                ks = KeyStore.getInstance(keyStoreType, provider);
            } else {
                ks = KeyStore.getInstance(keyStoreType);
            }

            InputStream ksis = null;
            String keystorePath = systemProps.getProperty("javax.net.ssl.keyStore");
            String keystorePassword = systemProps.getProperty("javax.net.ssl.keyStorePassword");
            if (keystorePath != null && !"NONE".equals(keystorePath)) {
                ksis = new FileInputStream(keystorePath);
            }

            try {
                ks.load(ksis, keystorePassword.toCharArray());
            } finally {
                 if (ksis != null) { ksis.close(); }
            }

            KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
            kmf.init(ks, keystorePassword.toCharArray());
            // Note that there is no property for the key password itself, which may be different.
            // We're using the keystore password too.

            SSLContext sc = SSLContext.getInstance("SSLv3");
            sc.init(kmf.getKeyManagers(), null, null);
            ((BindingProvider) ps).getRequestContext().put("com.sun.xml.internal.ws.transport.https.client.SSLSocketFactory", sc.getSocketFactory());

            Response response = ps.submitRequest(request); service call. 
            System.out.println(response.toString());

在这里,我没有在任何地方提供webservice URL,我不知道在上面的代码中在哪里提供。如果这可能是问题所在,是否有任何建议


共 (0) 个答案