2014-09-28 3 views
0

Я создал приложение ExtJS 5 с Sencha Cmd. Я развожу это приложение на сервере tomcat, где есть некоторые веб-службы REST. Мне нужно будет использовать эти веб-службы, но когда я запускаю приложение с помощью «sencha app watch» (на порт 1841), он не находит службы, потому что они находятся на другом сервере (tomcat находится на другом порту). Как я могу использовать «внешний» веб-сервис с Sencha CMD? Благодаря StefanoВызов внешнего веб-сервиса с помощью приложения Sencha Cmd

ответ

1

Вот некоторые из доступных вариантов:

Вариант 1прокси Web Service

Вы можете создать службу на локальном компьютере, где приложение Сенча является то, что создавать веб запросы, которые затем перешли к целевым удаленным службам. Это называется прокси-сервисом.

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

Существует php example here

И C# web request example here (Хотя это C# пример не совсем то, что вы нуждаясь. База веб-запроса, которые должны были бы быть представлены в этом коде.)

вариант 2JSONP

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

More information on jsonp

И 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

+0

Спасибо за Ваше сообщение. Но предложите ли вы это сделать, если мне нужно настроить прокси-сервер REST в объекте модели? – stefano

+0

@stefano я определенно посмотрю, может ли корс быть включен на сервере с веб-сервисом в первую очередь. – weeksdev

 Смежные вопросы

  • Нет связанных вопросов^_^