如何在使用轴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
答案 0 :(得分:6)
您可能正在使用代理来获取ssl内容,但您的代理设置错误。您应该考虑使用http作为代理方案,然后使用https作为实际内容的方案。这解决了我的问题。
答案 1 :(得分:5)
正如错误消息所示,概率是对等方正在说明文,而不是SSL。
答案 2 :(得分:2)
在我的连接被复杂的防火墙规则阻止之前,我遇到了这个错误。如果您已经到位,可能值得查看配置。