Создание веб-прокси для мобильных клиентов (веб-приложение HTML5)
В настоящее время я разрабатываю мобильное веб-приложение на HTML5 для Blackberry, используя WebWorks, который взаимодействует со сторонним API.
К сожалению, я не могу использовать API напрямую из мобильного приложения из-за ограничений междоменных запросов, поэтому я рассматриваю разработку веб-прокси, который взаимодействует с API и обслуживает веб-приложение.
Поскольку я никогда не делал ничего подобного, я хотел бы получить некоторые рекомендации, и я собираюсь использовать технологии Microsoft (.NET) для достижения своей цели.
Я думаю о службе WCF, которая выполняет все запросы к API, и мобильный клиент подключается к службе WCF для получения данных, но я думаю, что в любом случае у меня будет такое же ограничение междоменных запросов, поэтому оно может не работать.
1 ответ
Во-первых, узнайте у стороннего поставщика API, поддерживают ли они CORS. Если они это сделают, вы можете обойти те же ограничения политики происхождения. Предполагая, что это не так, вы можете создать фасадный сервис, используя веб-API ASP.NET вместо WCF. ASP.NET Web API разработан с нуля для создания HTTP-сервисов для более широкого охвата, и SOAP не задействован.
С помощью веб-API ASP.NET вы можете сделать HTTP-вызов с помощью HttpClient и просто передать запрос стороннему API и передать ответ обратно в ваше приложение. Как вы правильно сказали, к этому случаю будут применяться те же ограничения политики происхождения, но вы имеете больший контроль над серверной стороной. Вы можете реализовать CORS в ASP.NET Web API и таким образом ваше приложение BB WW может по-прежнему вызывать ваш веб-API, несмотря на то, что оно находится в разных источниках.