Я создал приложение ExtJS 5 с Sencha Cmd. Я развожу это приложение на сервере tomcat, где есть некоторые веб-службы REST. Мне нужно будет использовать эти веб-службы, но когда я запускаю приложение с помощью «sencha app watch» (на порт 1841), он не находит службы, потому что они находятся на другом сервере (tomcat находится на другом порту). Как я могу использовать «внешний» веб-сервис с Sencha CMD? Благодаря StefanoВызов внешнего веб-сервиса с помощью приложения Sencha Cmd
ответ
Вот некоторые из доступных вариантов:
Вариант 1прокси Web Service
Вы можете создать службу на локальном компьютере, где приложение Сенча является то, что создавать веб запросы, которые затем перешли к целевым удаленным службам. Это называется прокси-сервисом.
По сути, служба прокси принимает запрос и повторно отправляет его на желаемую удаленную машину.
Существует php example here
И C# web request example here (Хотя это C# пример не совсем то, что вы нуждаясь. База веб-запроса, которые должны были бы быть представлены в этом коде.)
вариант 2JSONP
другой вариант с верхней, является ли веб-службы на другой опоре машины jsonp
они должны быть доступны. Однако jsonp поддерживает только get
, поэтому, если у вас есть полноценная реализация, некоторые службы, вероятно, не сработают.
И ExtJS Пример запроса для JsonP
:
Ext.data.JsonP.request({
'url': 'url',
params: {
'param1': 'value'
},
success: function (result, request) {
//success
}
});
Вариант 3хостинг несколько приложений/путей на один порт
Однако, так как кажется, как кот сервер может быть на одной машине. Не существует способа разместить как веб-службы, так и путь приложения через tomcat?
Похоже, к примеру, причал имеет возможность разместить two apps on the same port
Вариант 4Включения CORS
Вы можете включить общий доступ к перекрестному происхождению ресурсов на применении отдыха в зависимости от архитектуры/используемая структура.
Вначале браузер отправит запрос, чтобы узнать, может ли он получить доступ к ресурсу. И тогда сервер будет отвечать разрешенными доменами происхождения.После того, как CORS включена, то доступ может быть предоставлен между двумя различными портами/серверов
Great site on CORS with instructions for enabling on most basic setups
Вот пример documentation for spring
Спасибо за Ваше сообщение. Но предложите ли вы это сделать, если мне нужно настроить прокси-сервер REST в объекте модели? – stefano
@stefano я определенно посмотрю, может ли корс быть включен на сервере с веб-сервисом в первую очередь. – weeksdev