Веб-мессенджер комет междоменный Bayeux WebmsgServlet
Я пишу мобильное приложение, используя phonegap, который подписывается на тему SIBus jms.
Сначала я смог запустить демонстрацию после настройки, но не смог запустить ее из другого домена, потому что приложение должно быть запущено во внешнем домене с сервера.
У меня было много проблем с междоменным вызовом ajax к веб-сервисам, решением было изменить заголовок на header("Access-Control-Allow-Origin", "*");
Я задаюсь вопросом, как это исправить, чтобы изменить заголовок для входящих запросов
dojo.require("dojox.cometd");
dojo.addOnLoad(function(){
dojox.cometd.init("http://localhost:9080/ClientWeb/webmsgServlet");
dojox.cometd.subscribe("/T.Frs", window, "display");
}
);
function display(msg) {
console.log(msg);
alert("Message " + msg.data.test);
}
1 ответ
Взгляните на JetO CrossOriginFilter, это переносной фильтр, который вы можете запустить в любом контейнере сервлета, который реализует спецификацию CORS, позволяя вам беспрепятственно получать доступ к ресурсам из разных источников.
CometD поставляет этот фильтр по умолчанию в демоверсии, поэтому вы можете посмотреть, как он настроен, или посмотреть ссылку на CometD, раздел 5.4.1.3.