Сервер
У нас есть серверная часть, которая подключается к SOAP серверу и переводит его в REST. Сервер SOAP может быть подключен только через VPN.
Приложение
- React-native @ 0.61.4
- Ax ios @ 0.19.2
- Android версия 10 на устройстве
При работе бэкэнда на локальном уровне вызовы API отлично работают как на эмуляторе, так и на устройстве Android.
Но когда мы развернули бэкэнд на удаленном сервере, тайм-аут устройства Android (15 секунд) при попытке сделать запрос.
Пара предлагаемых в сети решений, которые я пробовал, но все равно ничего не получалось , были:
1 . Создайте network_security_config.xml
и свяжите его на AndroidManifest.xml
с android:networkSecurityConfig="@xml/network_security_config"
.
Я также попробовал решение ниже без base-config
, имеющий всего domain-config
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">remove_server_ip_address_here</domain>
</domain-config>
</network-security-config>
2 . Добавление обоих android:usesCleartextTraffic="true"
tools:targetApi="28"
/ tools:targetApi="29"
в application
тег в AndroidManifest.xml
. Также попробовал просто добавить android:usesCleartextTraffic="true"
без tools:targetApi
3 . Попытка добавления xmlns:tools="http://schemas.android.com/tools"
android:targetSandboxVersion="1"
к элементу root AndroidManifest.xml
Имейте в виду, у меня есть <uses-permission android:name="android.permission.INTERNET" />
и <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
в моем AndroidManifest.xml
Опять тайм-аут запроса только при попытке отправить на удаленный сервер по IP-адресу, и он не работает только на устройстве Android, все работает нормально на эмуляторе.
Пожалуйста, помогите, я не уверен, что делать попробуй больше!