javax.net.ssl.SSLException:无法识别的SSL消息,明文连接?

时间:2011-01-10 16:07:46

标签: java ssl https asmx axis

如何在使用轴jar从java调用SSL(“https:”)协议上托管的.net Web服务(asmx)时解决上述异常。

执行代码时收到以下错误消息:

faultDetail: 
 {http://xml.apache.org/axis/}stackTrace:javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
 at com.ibm.jsse2.a.c(a.java:228)
 at com.ibm.jsse2.a.a(a.java:63)
 at com.ibm.jsse2.jc.a(jc.java:465)
 at com.ibm.jsse2.jc.g(jc.java:458)
 at com.ibm.jsse2.jc.a(jc.java:67)
 at com.ibm.jsse2.jc.startHandshake(jc.java:342)
 at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:186)
 at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)
 at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)
 at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
 at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
 at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
 at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
 at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
 at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
 at org.apache.axis.client.Call.invoke(Call.java:2767)
 at org.apache.axis.client.Call.invoke(Call.java:2443)
 at org.apache.axis.client.Call.invoke(Call.java:2366)
 at org.apache.axis.client.Call.invoke(Call.java:1812)
 at examples.Example_client.main(Example_client.java:79)

 {http://xml.apache.org/axis/}hostname:D-113020008

3 个答案:

答案 0 :(得分:6)

您可能正在使用代理来获取ssl内容,但您的代理设置错误。您应该考虑使用http作为代理方案,然后使用https作为实际内容的方案。这解决了我的问题。

答案 1 :(得分:5)

正如错误消息所示,概率是对等方正在说明文,而不是SSL。

答案 2 :(得分:2)

在我的连接被复杂的防火墙规则阻止之前,我遇到了这个错误。如果您已经到位,可能值得查看配置。