Error in worker when trying to get response code from httpurlconnection

0

I am trying to get the input stream from a link inside a worker thread however it gives me ssl errors. The links are not the problem and i have allowed the internet permission in my manifest. Here is a snippet of my code.

WorkManager workManager = WorkManager.getInstance(context);
        ArrayList<OneTimeWorkRequest> oneTimeWorkRequests = new ArrayList<>();

        for(int i = 0; i < mPodcastSources.size(); i++) {

            Data.Builder dataBuilder = new Data.Builder().putString(WORKER_PODCAST_WORKER_KEY, mPodcastSources.get(i));

            OneTimeWorkRequest oneTimeWorkRequest = new OneTimeWorkRequest.Builder(PodcastUpdateWorker.class)
                    .setBackoffCriteria(BackoffPolicy.LINEAR, 10, TimeUnit.SECONDS)
                    .setInputData(dataBuilder.build())
                    .addTag(ONE_TIME_WORK_REQUEST_KEY)
                    .build();

            oneTimeWorkRequests.add(oneTimeWorkRequest);

        }
        workManager.enqueue(oneTimeWorkRequests);

and the error is at

String podcastFeed = getInputData().getString(WORKER_PODCAST_WORKER_KEY);
        ArrayList<Podcast> mPodcasts = new ArrayList<>();
        Log.d("rial-links", podcastFeed);
        try {
            URL url = new URL(podcastFeed);

            URLConnection urlConnection = url.openConnection();
            HttpURLConnection httpURLConnection = (HttpURLConnection) urlConnection;
            if (httpURLConnection.getResponseCode() == HttpURLConnection.HTTP_OK) { //here
                InputStream in = httpURLConnection.getInputStream();

Here is the logcat readout

10-17 13:58:36.262 4581-4605/com.example.corbettreportpodcasts W/System.err: javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0xb8adeb40: Failure in SSL library, usually a protocol error
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure (external/openssl/ssl/s23_clnt.c:741 0x8d93b990:0x00000000)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:448)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.android.okhttp.Connection.upgradeToTls(Connection.java:146)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.android.okhttp.Connection.connect(Connection.java:107)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:294)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:296)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:503)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.android.okhttp.internal.http.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:136)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.example.simplepodasts.PodcastUpdateWorker.doWork(PodcastUpdateWorker.java:86)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at androidx.work.Worker$1.run(Worker.java:85)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at java.lang.Thread.run(Thread.java:841)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err: Caused by: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0xb8adeb40: Failure in SSL library, usually a protocol error
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure (external/openssl/ssl/s23_clnt.c:741 0x8d93b990:0x00000000)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:405)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:    ... 14 more
10-17 13:58:36.282 4581-4601/com.example.corbettreportpodcasts I/WM-WorkerWrapper: Worker result RETRY for Work [ id=014602b6-ba91-4e00-abb2-978859679834, tags={ ONE_TIME_WORK_REQUEST_PODCAST, com.example.simplepodasts.PodcastUpdateWorker } ]

Please note i am using a list of workrequests which i believe start one after eachother.

java
android
android-workmanager
asked on Stack Overflow Oct 17, 2020 by rial • edited Oct 18, 2020 by Yuri Schimke

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0