HttpURLConnection RuntimeException - PullRequest
       6

HttpURLConnection RuntimeException

1 голос
/ 10 февраля 2012

У меня странная проблема. Я использую HttpURLConnection, и когда я conn.readInputStream(), я получаю RuntimeException. Его не всегда можно воспроизвести, но пользователи сообщили об этой трассировке стека. В разработке я никогда не сталкивался с этой проблемой, поэтому лично я не знаю, что вызвало ошибку. Пожалуйста, дайте какие-либо предложения по поводу этого стека.

java.lang.RuntimeException: java.util.NoSuchElementException
at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.verifyCertificateChain(OpenSSLSocketImpl.java:692)
at org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_do_handshake(Native Method)
at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:485)
at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:323)
at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.setupSecureSocket(HttpConnection.java:167)
at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection(HttpsURLConnectionImpl.java:479)
at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnectionImpl$HttpsEngine.makeConnection(HttpsURLConnectionImpl.java:419)
at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl … veResponse(HttpURLConnectionImpl.java:1038)
at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:523)
at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnectionIm … nputStream(HttpsURLConnectionImpl.java:283)
at com.facebook.android.Util.openUrl(Util.java:245)
at com.facebook.android.Facebook.request(Facebook.java:730)
at com.facebook.android.AsyncFacebookRunner$2.run(AsyncFacebookRunner.java:313)
Caused by: java.util.NoSuchElementException
at java.util.LinkedList$LinkIterator.next(LinkedList.java:122)
at org.apache.harmony.security.x501.Name.getName0(Name.java:195)
at org.apache.harmony.security.x501.Name.getName(Name.java:135)
at javax.security.auth.x500.X500Principal.getCanonicalName(X500Principal.java:155)
at javax.security.auth.x500.X500Principal.hashCode(X500Principal.java:286)
at java.util.HashMap.get(HashMap.java:302)
at org.apache.harmony.xnet.provider.jsse.IndexedPKIXParameters.isTrustAnchor(IndexedPKIXParameters.java:113)
at org.apache.harmony.xnet.provider.jsse.TrustManagerImpl.cleanupCertChain(TrustManagerImpl.java:194)
at org.apache.harmony.xnet.provider.jsse.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:144)
at org.apache.harmony.xnet.provider.jsse.TrustManagerImpl.checkServerTrusted(TrustManagerImpl.java:132)
at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.verifyCertificateChain(OpenSSLSocketImpl.java:681)
... 12 more

Ответы [ 2 ]

3 голосов
/ 10 февраля 2012

Эта проблема связана с тем, что вы создаете соединение https из своего приложения, и для открытия защищенного соединения вам необходимо установить необходимые сертификаты на ваше устройство.

0 голосов
/ 17 июля 2012

Возможно, немного поздно, но это может произойти, если ресурс, который вы пытаетесь получить, не существует. Например, вы пытаетесь получить пользователя с идентификатором 500 (/ user / 500), но его нет на сервере, которому вы звоните.

...