为了账号安全,请及时绑定邮箱和手机立即绑定

HTTP 传输错误:java.net.ConnectException:

HTTP 传输错误:java.net.ConnectException:

Helenr 2021-11-24 18:36:21
在我开发的 JAR 客户端中,尝试使用 jax-ws 调用soap ws 时出现连接超时异常,我想知道导致此异常的原因是什么。我正在使用远程 wsdl 和必须在 VM 参数中运行的 https 的服务器证书。   -Djavax.net.debug=all    -Djavax.net.ssl.trustStore=link to my certifacte我怎么能用这个参数运行?通过将它们添加到 eclipse.ini 文件中?谢谢你的帮助。
查看完整描述

2 回答

?
qq_笑_17

TA贡献1818条经验 获得超7个赞

添加额外的故障排除答案。测试 SSL 连接的好方法。


import javax.net.ssl.SSLSocket;

import javax.net.ssl.SSLSocketFactory;

import java.io.*;


/** Establish a SSL connection to a host and port, writes a byte and

 * prints the response. See

 * http://confluence.atlassian.com/display/JIRA/Connecting+to+SSL+services

 * 

 * JGlass: Code modified for SO to hard code the host and port

 * 

 */

public class SSLPoke {

    public static void main(String[] args) {


        //add the full FQDN to the host here

        String host = "google.com";

        //your port may be 443

        int port = 8443;


        try {

            SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault();

            SSLSocket sslsocket = (SSLSocket) sslsocketfactory.createSocket(host, port);


            InputStream in = sslsocket.getInputStream();

            OutputStream out = sslsocket.getOutputStream();


            // Write a test byte to get a reaction :)

            out.write(1);


            while (in.available() > 0) {

                System.out.print(in.read());

            }

            System.out.println("Successfully connected");


        } catch (Exception exception) {

            exception.printStackTrace();

        }

    }

}


如果一切正常,您将获得“成功连接”


查看完整回答
反对 回复 2021-11-24
?
12345678_0001

TA贡献1802条经验 获得超5个赞

1. 从 Project Explorer 窗格中选择您的项目,通常在左侧 2. 从 Run 菜单中,根据您是要运行它还是调试它,单击 Run 或 Debug 3. 在左窗格中,选择“Java Application and右键单击并单击“新建” 4. 由于您已经选择了您的项目并且它包含一个“主”类,因此它将默认运行/调试配置“名称”为类名。如果您有多个 Main,则可能需要单击“搜索”按钮或手动输入包路径和类名5. 在“VM 参数”下输入您的参数,如图所示6. 单击“应用”,或者单击应用”和“运行”(如果需要)立即运行

//img1.sycdn.imooc.com//619e15d00001f1ef06470310.jpg

//img1.sycdn.imooc.com//619e15d800017ff307380439.jpg

//img1.sycdn.imooc.com//619e15df00011eb208640543.jpg

//img1.sycdn.imooc.com//619e15e60001515309190588.jpg

//img1.sycdn.imooc.com//619e15ed0001a42a09180586.jpg

一些注意事项,您可能需要密钥库的完整路径,例如:

-Djavax.net.ssl.trustStore=C:\ADirectory\AnotherDirectory\FinalDirectoryThatContainsYourKeystore\TrustStore.jks


-Djavax.net.debug=all- 将打开大量调试,如果您不习惯阅读它,可能会令人困惑。如果连接正常,请删除该行。如果连接不起作用 - 那就是所有调试有用的时候。


更新:为了进一步解决 HTTP 连接问题,当它的核心是 SOAP 请求时,暂时删除-Djavax.net.debug=all并添加以下内容:

-Dcom.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=true

-Dcom.sun.xml.ws.transport.http.HttpAdapter.dump=true

-Dcom.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.dump=true

-Dcom.sun.xml.internal.ws.transport.http.HttpAdapter.dump=true


这将显示 HTTP 标头、响应代码、请求和响应正文内容。它还将显示您尝试连接的 URL。



查看完整回答
反对 回复 2021-11-24
  • 2 回答
  • 0 关注
  • 311 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信