Вызов Rest API не может достичь сервера из приложения Android с использованием библиотеки залпа при подключении к конкре ⇐ Android
-
Гость
Вызов Rest API не может достичь сервера из приложения Android с использованием библиотеки залпа при подключении к конкре
Информация о приложении и устройстве
Модель мобильного телефона: Redmi Note 7s, версия ОС 10 (oreo) Приложение для Android: сборка с использованием языка Java и вызовов API с использованием библиотеки Volley
Информация об API
JsonObjectRequest jsonObjectRequest = новый JsonObjectRequest(Request.Method.POST,Constants.api_OrderPlacingHandlerApi, jsonObject, новый Response.Listener() { @Override public void onResponse(@NonNull JSONObject ответ) { Log.d("Порядок размещения асинхронного ответа: ", String.valueOf(response)); пытаться { Строковое сообщение = response.getString("body"); } catch (JSONException e) { е.printStackTrace(); } } }, новый Response.ErrorListener() { @Override public void onErrorResponse(@NonNull VolleyError error) { ошибка.printStackTrace(); } }) { @NonNull @Override public Map getHeaders() выдает AuthFailureError { окончательные параметры Map = new HashMap(); params.put("Content-Type", "application/json; charset=utf-8"); вернуть параметры; } }; jsonObjectRequest.setRetryPolicy(новый DefaultRetryPolicy(40000, 3, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); Volley.newRequestQueue(mContext).add(jsonObjectRequest); Информация об API
Public Rest Api, созданный в AWS, с типом контента (заголовком): приложение json, метод — POST
Информация о конфигурации маршрутизатора
Ссылка
Проблема
Я использую API-интерфейсы AWS для отдыха с методами get и post для сохранения или получения данных. Я использовал несколько методов публикации и получения, но, в частности, только один вызов API публикации не мог достичь сервера, когда устройство подключено к определенному Wi-Fi. Эта проблема возникает на устройстве Android с версией ОС 10 и работает нормально на другом моем устройстве с версией ОС Android 13. Даже на устройствах Android с ОС версии 10 все работает нормально, если я подключаю свое устройство к другому Wi-Fi или мобильному Интернету (точке доступа).
Поскольку API не достигает сервера, от API AWS нет данных ответа или ошибки, просто библиотека Volley возвращает ошибку тайм-аута.
Метод вызова API
Ответ от залпа
Я получил 2 типа ответов: 1) один — самый популярный ответ 2) один — редкий тип ответа
[*]
W/System.err: com.android.volley.TimeoutError W/System.err: на com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:173) W/System.err: на com.android.volley.NetworkDispatcher.processRequest(NetworkDispatcher.java:131) W/System.err: com.android.volley.NetworkDispatcher.processRequest(NetworkDispatcher.java:111) W/System.err: com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:90
[*]
W/System.err: com.android.volley.NoConnectionError: javax.net.ssl.SSLException: ошибка чтения: ssl=0xf122ace8: ошибка ввода-вывода во время системного вызова, время ожидания соединения
Что я делаю не так; есть ли способ устранить причину?
Вызов API работает нормально, когда я использую приложение VPN, а также когда устройства подключены к другим данным Wi-Fi или данным мобильного телефона. Ошибка возникает только для этого почтового вызова API, если я подключился к этому конкретному Wi-Fi.
Я прикрепил конфигурацию своего Wi-Fi к диску.
Информация о приложении и устройстве
Модель мобильного телефона: Redmi Note 7s, версия ОС 10 (oreo) Приложение для Android: сборка с использованием языка Java и вызовов API с использованием библиотеки Volley
Информация об API
JsonObjectRequest jsonObjectRequest = новый JsonObjectRequest(Request.Method.POST,Constants.api_OrderPlacingHandlerApi, jsonObject, новый Response.Listener() { @Override public void onResponse(@NonNull JSONObject ответ) { Log.d("Порядок размещения асинхронного ответа: ", String.valueOf(response)); пытаться { Строковое сообщение = response.getString("body"); } catch (JSONException e) { е.printStackTrace(); } } }, новый Response.ErrorListener() { @Override public void onErrorResponse(@NonNull VolleyError error) { ошибка.printStackTrace(); } }) { @NonNull @Override public Map getHeaders() выдает AuthFailureError { окончательные параметры Map = new HashMap(); params.put("Content-Type", "application/json; charset=utf-8"); вернуть параметры; } }; jsonObjectRequest.setRetryPolicy(новый DefaultRetryPolicy(40000, 3, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); Volley.newRequestQueue(mContext).add(jsonObjectRequest); Информация об API
Public Rest Api, созданный в AWS, с типом контента (заголовком): приложение json, метод — POST
Информация о конфигурации маршрутизатора
Ссылка
Проблема
Я использую API-интерфейсы AWS для отдыха с методами get и post для сохранения или получения данных. Я использовал несколько методов публикации и получения, но, в частности, только один вызов API публикации не мог достичь сервера, когда устройство подключено к определенному Wi-Fi. Эта проблема возникает на устройстве Android с версией ОС 10 и работает нормально на другом моем устройстве с версией ОС Android 13. Даже на устройствах Android с ОС версии 10 все работает нормально, если я подключаю свое устройство к другому Wi-Fi или мобильному Интернету (точке доступа).
Поскольку API не достигает сервера, от API AWS нет данных ответа или ошибки, просто библиотека Volley возвращает ошибку тайм-аута.
Метод вызова API
Ответ от залпа
Я получил 2 типа ответов: 1) один — самый популярный ответ 2) один — редкий тип ответа
[*]
W/System.err: com.android.volley.TimeoutError W/System.err: на com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:173) W/System.err: на com.android.volley.NetworkDispatcher.processRequest(NetworkDispatcher.java:131) W/System.err: com.android.volley.NetworkDispatcher.processRequest(NetworkDispatcher.java:111) W/System.err: com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:90
[*]
W/System.err: com.android.volley.NoConnectionError: javax.net.ssl.SSLException: ошибка чтения: ssl=0xf122ace8: ошибка ввода-вывода во время системного вызова, время ожидания соединения
Что я делаю не так; есть ли способ устранить причину?
Вызов API работает нормально, когда я использую приложение VPN, а также когда устройства подключены к другим данным Wi-Fi или данным мобильного телефона. Ошибка возникает только для этого почтового вызова API, если я подключился к этому конкретному Wi-Fi.
Я прикрепил конфигурацию своего Wi-Fi к диску.
Мобильная версия