在我的應用程序中,我通過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可能來自的唯一的一點是因爲sslParameters
是null
。你有什麼想法可以在我的代碼中解決這個異常嗎?
如果你不知道如何解決問題,但有一個想法什麼問誰發送日誌給我的用戶,請也請回答。 我已經問他,當他試圖通過https訪問網站時,他的瀏覽器是否顯示錯誤消息。我一收到答覆就會在這裏附上答覆。
您好,我知道這是真的老了,但你有沒有設法找到解決辦法? – tehmaestro 2015-09-26 08:45:54