Настройка / шаги, необходимые при использовании внешней службы Restful с внешнего сервера Fiori

Я развернул пользовательское приложение UI5 (используя внешние службы REST ful -> службу, размещенную в другой стековой системе Java) на сервере переднего плана.

Я использовал Ajax для вызова службы напрямую с URL-адресом, как показано ниже. Это приложение работает успешно, когда я использую «прокси» на локальном хосте (eclipse).

-> Фрагмент кода вызова Ajax

Поэтому я заменил прокси на целевой URL при развертывании во внешнем интерфейсе. (http: //xxx.xxx: порт)

При запуске с внешнего сервера я получил ошибку перекрестного происхождения, как показано ниже.

Ошибка1: ‹http: // xxx: порт / xxx / ngservices / rest / query / ZQUE_WEBSERV_APPHISTORY / executeGet. Ответ на предполетный запрос не проходит проверку контроля доступа: на запрошенном ресурсе отсутствует заголовок Access-Control-Allow-Origin. Следовательно, к источнику "http://xxx:port" не разрешен доступ. Ответ имел код состояния HTTP 401>

После включения подключаемого модуля CORS в Chrome я получил несанкционированную ошибку, как показано ниже.

Ошибка2: ‹http: // xxx: порт / xxx / ngservices / rest / query / ZQUE_WEBSERV_APPHISTORY / executeGet. Ответ на предполетную проверку имеет недопустимый код состояния HTTP 401>

Первоначально у меня возникли указанные выше ошибки при запуске с localhost, после чего я использовал прокси, и проблема была решена.

Я просто развернул приложение на внешнем сервере и запустил его напрямую. Никаких других настроек я не делал.

Нужно ли мне делать какие-либо дополнительные настройки для использования этих внешних служб или любезно предлагать какие-либо другие предложения.

Важная информация:

* Может вызывать внешнюю службу с локального хоста (eclipse -> здесь используется прокси), но не может вызывать службу с внешнего сервера.

* Внешняя архитектура: центральное развертывание и подключение к серверным модулям SRM, HR и CRM в настоящее время.

С Уважением

Фани Пурна


person Phani Poorna    schedule 26.08.2016    source источник
comment
Пожалуйста, укажите код. Из ваших звонков, например,   -  person dotchuZ    schedule 26.08.2016
comment
Он прикреплен на изображении выше. Фрагмент кода Ajax   -  person Phani Poorna    schedule 27.08.2016
comment
var settings = {async: true, crossDomain: true, url: xxx: port / xxx / ngservices / rest / query / ZQUE_WEBSERV_APPHISTORY /, метод: GET, заголовки: {content-type: application / json, accept: application / json, cache-control: no-cache, authorization: Basic xxxx,} }; $ .ajax (настройки) .done (функция (ответ) {})   -  person Phani Poorna    schedule 29.08.2016


Ответы (1)


Обе эти ошибки можно решить, создав и настроив пункт назначения на вашей платформе.

Пункт назначения - это, по сути, прокси: когда вы его создаете, вы указываете внутренний URL-адрес, механизм аутентификации (распространение принципала / базовая аутентификация и т. Д.). От вашего клиента вам просто нужно затем подключиться к месту назначения, чтобы запросить серверную часть.

Что вы имеете в виду под сервером переднего плана Fiori? Вы имеете в виду службу портала, размещенную на облачной платформе HANA?

Если да, то вы можете создать пункт назначения, перейдя в Connectivity - Destinations в своей учетной записи HCP. Затем из приложения Fiori вам необходимо подключить пункт назначения, используя следующий шаблон URL:

/destinations/<destination name>/<whatever you want to add to the URL the destination points to>

Если вы используете другой PaaS, я уверен, что у него будет аналогичный способ создания прокси между вашим клиентом и вашим сервером. (Изменить: я только что видел, что вы используете развертывание центрального концентратора - я не знаком с этой системой, но у нее должен быть очень похожий способ создания пунктов назначения).

Надеюсь, это поможет, дайте мне знать, если у вас возникнут вопросы.

person Chris Neve    schedule 28.08.2016
comment
Спасибо за информацию, это не облачная платформа HANA. Это локальное развертывание центрального концентратора, где эта интерфейсная система будет подключена к нескольким внутренним системам с одной точкой агрегации. Обычно все серверные компоненты представляют собой стек ABAP (системы SAP), а службы OData размещаются на сервере переднего плана. Но в нашем случае наша серверная часть - это стек JAVA (как типичная система не-SAP). У нас есть услуги, размещенные на самом сервере. Поэтому я напрямую вызываю этот URL-адрес из внешнего интерфейса. Итак, я хотел знать, как нужно выполнять настройку. - person Phani Poorna; 29.08.2016
comment
Вы проверили, можете ли вы найти эквивалент пунктов назначения на локальном хабе? - person Chris Neve; 30.08.2016