繁体   English   中英

SSLException:无法识别的SSL消息,AXIS Java应用程序中的纯文本连接错误

[英]SSLException: Unrecognized SSL message, plaintext connection error in AXIS java application

我有一个使用Axis从Web服务获取数据的Java应用程序。 通过HTTPS访问Web服务。 在我的本地PC上运行正常,但是客户使用代理。 我添加了代理设置:

System.getProperties().put( "proxySet", "true" );
System.getProperties().put( "proxyHost", host);
System.getProperties().put( "proxyPort", port);
Authenticator.setDefault(new Authenticator() {
    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication(username,
            password.toCharArray());
    }
});

但是客户得到例外:

faultDetail: 
    {http://xml.apache.org/axis/}stackTrace:javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
    at com.sun.net.ssl.internal.ssl.InputRecord.handleUnknownRecord(Unknown Source)
    at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
    ...

有人可以帮忙吗?

 System.getProperties().put( "proxySet", "true" );

那什么也没做。 去掉。 JDK中没有此类属性。

 System.getProperties().put( "proxyHost", host);
 System.getProperties().put( "proxyPort", port);

如果您使用的是SSL,则应分别为https.proxyHost / https.proxyPort。 对于纯文本连接,请访问http.proxyHost / http.proxyPort。

无法解决此问题。 我们的应用程序是使用简单的HTTP POST请求(使用Apache HTTPClient 3.0)重写的,即没有Axis。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM