GWT: add-linker (кросс-сайт) не работает с кодом сервера! - PullRequest
0 голосов
/ 08 февраля 2011

Я пытаюсь сделать несколько кросс-сайтов в GWT.

В соответствии с GWT: та же политика происхождения Я добавил в файл модуля XML.Это работает хорошо, пока я не вызываю какую-либо удаленную службу GWT (используя GWT-RPC), но когда я пытаюсь вызвать какую-либо удаленную службу, я не получаю ответа!проблема в GWT с удаленными службами GWT?

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 09 февраля 2011

Ответ Стива верен, однако есть еще один вариант, который вы можете рассмотреть, который является наилучшим, если вам требуется аутентификация для взаимодействия с сервером без использования OAUTH.Суть в том, что межсайтовый компоновщик не обходит SOP, но позволяет размещать index.html на другом сайте, чем код JS, чтобы вы могли разместить код JS и сервлеты на одном сервере и загрузить ихОт другого.Чтобы обойти SOP, вы можете использовать метод JSON с padding или JSONP.По сути, он использует тег script для внедрения внешнего запроса в среду, оборачивая запрошенные данные в обратный вызов.Для этого вы можете использовать одну из многих серверных реализаций, например, Джерси.GWT 2 включает в себя объект JsonpRequestBuilder, который выполняет всю работу на стороне клиента и может использоваться так же, как RequestBuilder.См. эту статью для учебника.

0 голосов
/ 09 февраля 2011

Если вы хотите получить доступ к другому серверу (example.com) из своего приложения GWT, вам нужно будет выполнить RPC для вашего сервера, а в коде на стороне сервера вам придется сделать еще один HTTP Зайдите на страницу example.com, которую вы ищете.

На странице, на которую вы ссылались, касающейся межсайтовых ссылок, указано, что добавление <add-linker name="xs"/> в файл модуля позволяет разделить ваш хостинг между 2 серверами:

  • Один сервер для статических файлов (все файлы, созданные в GWT html и js, и все изображения)
  • Один сервер для динамических вызовов (все ваши RPC идут сюда, и ваша домашняя страница index.html должна быть здесь)
...