2011-06-17 85 views
1

在我的应用程序中,我通过SSL与web服务进行通信。因为我使用的是不是由Android默认支持多部分实体我包括以下库:创建SSL套接字时发生NullPointerException

  • 的HttpClient-4.1.1.jar
  • 的HttpCore-4.1.jar
  • httpmime-4.1.1。 jar

服务器使用由android支持的权限签名的证书。这在大多数设备上都可以工作。今天我的用户(Android 2.2的摩托罗拉Defy)的人送我,包含以下日志:

W/System.err(2328): Caused by: java.lang.NullPointerException 
W/System.err(2328): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketFactoryImpl.createSocket(OpenSSLSocketFactoryImpl.java:83) 
W/System.err(2328): at org.apache.http.conn.ssl.SSLSocketFactory.createSocket(SSLSocketFactory.java:375) 
W/System.err(2328): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:168) 
W/System.err(2328): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164) 
W/System.err(2328): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119) 
W/System.err(2328): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:352) 
W/System.err(2328): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555) 
W/System.err(2328): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487) 
W/System.err(2328): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465) 
W/System.err(2328): at my.api.Client.sendRequest(Client.java) 
... 

我不能在我的设备复制这一点,我不知道为什么会这样。我查看了OpenSSLSocketFactoryImpl的源代码,并且NullPointerException可能来自的唯一的一点是因为sslParametersnull。你有什么想法可以在我的代码中解决这个异常吗?

如果你不知道如何解决问题,但有一个想法什么问谁发送日志给我的用户,请也请回答。 我已经问他,当他试图通过https访问网站时,他的浏览器是否显示错误消息。我一收到答复就会在这里附上答复。

+0

您好,我知道这是真的老了,但你有没有设法找到解决办法? – tehmaestro 2015-09-26 08:45:54

回答

相关问题