IONI C http.get висит на эмуляторе или устройстве, но работает в браузере - PullRequest
0 голосов
/ 04 марта 2020

У нас есть приложение IONI C, где мы вызываем внешнюю службу, которая публикует объект JSON с данными.

Когда мы выполняем приложение через> ioni c serve, все работает нормально в браузере, но когда мы пытаемся выполнить его на эмуляторе, после выполнения get ничего не происходит.

Мы вызываем его с помощью:

//we pop a message just here, and the device shows it.
  this.http.get('https://ourExternalSite.com/getData').subscribe(data => {
    //do things. We put here a message that never pops
  }, error => {
   //do things, we also put here a message, that never pops neither
  });

Мы проверили https://ourExternalSite.com/getData URL-адрес на устройстве, он полностью доступен и показывает объект JSON.

Мы не являемся экспертами по IONI C, это приложение было разработано субподрядчиком, и мы ' мы пытаемся интегрировать его в нашу среду.

РЕДАКТИРОВАТЬ: я пытался добавить файл network_security_config. xml в проект, так как эти ответы предлагают: Http.get () работает, но не работает в сборке (Release / Debug) в Ioni c 4 Ioni c Собственный HTTP не работает для Anroid 9 (P ie) и выше?

Но ничего не изменилось

EDIT2: Хорошо, я сузил проблему. Это должно быть с использованием https, если я изменил вызов на http-петицию, все работает отлично!

Поэтому я полагаю, что мне нужно несколько разрешить вызовы https для network_security_config. xml file

Любая помощь будет высоко ценится.

1 Ответ

0 голосов
/ 06 марта 2020

Хорошо, наконец-то я исправил проблему, смешивая ответы, предложенные Наджамом, и добавив

<trust-anchors>
     <certificates src="@raw/external_site_certificate"/>
</trust-anchors>

в мой network_security_config. xml, где external_site_certificate - сертификат ключа publi c сайта, на котором я пытаюсь позвонить мне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...