Отправка данных Json из одного приложения в другое, запущенное через другой порт с помощью Angularjs - PullRequest
0 голосов
/ 06 июня 2019

У меня есть как основное внутреннее, так и интерфейсное веб-приложение, развернутое в tomcat, и другое приложение, смс-шлюз, также развернутый в tomcat, но без интерфейсного интерфейса.Главное приложение доступно из https://localhost:443/client-app, а шлюз sms работает на http://localhost:9191/message-gateway-0.0.1, но конечная точка для отправки смс - http://localhost:9191/message-gateway-0.0.1/sms. Из веб-приложения AngularJs, работающего на https://localhost:443/client-app, Я хотел бы иметь возможность разработать простой интерфейс для отправки SMS.

Функция отправки выглядит следующим образом: -

scope.submit = function () {
    var messagejson = {};
    messagejson.internalId = '55';
    messagejson.mobileNumber = +9128877477433;
    messagejson.message = 'DEAR IPPEZ, Your ATM Card is read for collection at our Head Office.;
    messagejson.providerId = '2';
    $http({
        method: 'POST',
        url: 'http://localhost:9191/message-gateway-0.0.1/sms',
        data: messagejson,
        headers: {
            "Tenant-App-Key": 'e4600907-f884-4abe-b50b-1c26cc349871'
        }
    }).then(function successCallback(response) {
    if (response.data)
        alert(response.status + ": SMS message sent Successfully!);
    }, function errorCallback(response) {
        alert(response.status + ": Service not Exists);
    });
};

При отправке сообщение не отправляется, и когда я проверяювеб-консоль, я вижу ошибку, как показано ниже Экран ошибки WebConsole Все же от POSTMAN, он успешен.

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

Экран почтальона

1 Ответ

0 голосов
/ 06 июня 2019

Вы, вероятно, сталкиваетесь с проблемами CORS.Браузеры запрещают отправку запросов между разными доменами ( localhost: 443 и localhost: 9191 ).Почтальон не браузер, поэтому он работает.

У вас есть 2 варианта:

  1. Включить CORS в вашем приложении SMS.Вы должны добавить специальные заголовки ответа (Access-Control-Allow-Origin), и вы готовы к работе.
  2. Создание взаимодействия между бэкэндом и бэкэндом.В этом случае ваш поток должен выглядеть следующим образом: пользовательский интерфейс клиентского приложения -> бэкэнд клиентского приложения -> бэкэнд шлюза сообщений.Это звучит лучше для меня, поскольку вы можете иметь некоторые дополнительные проверки в вашем клиентском приложении.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...