有 Java 编程相关的问题?

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

sslhttpclientjava。网SocketException:未实现未连接的socket

Iam使用HTTPClient 4.0连接远程服务器并使用HTTPS传输文件。 当我尝试连接时,出现异常“java.net.SocketException:Unconnected sockets not implemented”。 请查看堆栈跟踪

java.net.SocketException: Unconnected sockets not implemented 
at java.lang.Throwable.<init>(Throwable.java:196) 
at java.lang.Exception.<init>(Exception.java:41) 
at java.io.IOException.<init>(IOException.java:40) 
at java.net.SocketException.<init>(SocketException.java:29) 
at javax.net.SocketFactory.createSocket(SocketFactory.java:2) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:585) 
at org.apache.commons.httpclient.protocol.ReflectionSocketFactory.createSocket(Unknown Source) 
at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.createSocket(Unknown Source) 
at org.apache.commons.httpclient.HttpConnection.open(Unknown Source) 
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(Unknown Source) 
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(Unknown Source) 
at org.apache.commons.httpclient.HttpClient.executeMethod(Unknown Source) 
at org.apache.commons.httpclient.HttpClient.executeMethod(Unknown Source) 
at co.com.personalsoft.ftpseguro.utilidades.TransmisionHTTP.ejecutarTransmisionHTTP(TransmisionHTTP.java:107) 
at co.com.personalsoft.ftpseguro.utilidades.TransmisionFTPNew.ejecutarTransmisionAuto(TransmisionFTPNew.java:483) 
at co.com.personalsoft.ftpseguro.utilidades.TransmisionFTPNew.ejecutarTransmision(TransmisionFTPNew.java:1016) 
at co.com.personalsoft.ftpautomatico.ConexionThread.run(ConexionThread.java:58) 
at java.lang.Thread.run(Thread.java:595) 

使用HTTP客户端3.1时发现相同的错误

我的环境 应用服务器:WebSphereApplicationServer6.1.0.23 Java:JDK1.5.0.16


共 (2) 个答案

  1. # 1 楼答案

    实际上,一个比灭火更完整的答案是

    1. 添加com。国际商用机器公司ws。管理客户端7.0.0。jar到java构建

      这解决了java.lang.NoClassDefFoundError: com.ibm.ffdc.Manager error问题

    2. 添加到安装程序:

      import java.security.Security;
      ...
      Security.setProperty("ssl.SocketFactory.provider", "com.ibm.jsse2.SSLSocketFactoryImpl");
      

      这解决了Cannot find the specified class com.ibm.websphere.ssl.protocol.SSLSocketFactory

  2. # 2 楼答案

    当我启用javax时。网调试时,我注意到缺少一个com类。国际商用机器公司websphere。通用域名格式。国际商用机器公司websphere。ssl。协议SSLSocketFactory

    我在调用httpclient的单元测试中遇到了问题。我最后做的是将这一行添加到我的TestClass中。设置()

    Security.setProperty("ssl.SocketFactory.provider", "com.ibm.jsse2.SSLSocketFactoryImpl");