Проблема с приложением GWT не может получить ответ HTTP от сервлета на другом сервере

У меня есть приложение, написанное с помощью GWT 1.7. У меня есть одна страница, на которой я загружаю файл на удаленный сервер, который находится в другом домене. Итак, когда я отправляю сообщение на сервер, файлы отправляются на сервер, но когда пришло время получить ответ, я получаю null в следующей функции:

Сервлет:

...
resp.setStatus(HttpServletResponse.SC_CREATED);
resp.getWriter().print("The file was created successfully.");
resp.flushBuffer();
...

Вес:

form.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() {
            public void onSubmitComplete(SubmitCompleteEvent event) {
                Window.alert(event.getResults());
            }

Javadoc для event.getResults() сказал следующее:

Возвращает: HTML-результат или null, если при его чтении произошла ошибка @tip HTML-результат может быть нулевым в результате отправки формы в другой домен.

Это пример кода которым я пытался следовать. Он работает как есть, но когда я вызываю свой сервлет, ответ нулевой.

Кстати, я пытался использовать Firebug для просмотра заголовков, и мне кажется, что сервлет отправляет ответ обратно. Думаю, это просто GWT не нравится. Есть ли способ обойти это, чтобы я мог получить свой ответ в GWT?

Спасибо


person Maksim    schedule 15.07.2009    source источник


Ответы (1)


Не говоря об очевидном, но в приведенной вами цитате сказано, что не так:

Результат html может быть нулевым в результате отправки формы в другой домен.

Похоже, что образец кода, на который вы ссылаетесь, находится в том же домене, поэтому он не нарушает ту же политику происхождения для браузера.

Существует это обходной путь, но, похоже, для более ранней версии GWT и работает только для Firefox.

person seth    schedule 15.07.2009
comment
Итак, нет возможности получить ответ от удаленного сервера? Существуют ли какие-либо другие технологии/методы, которые я могу использовать для получения этого сообщения с сервера? - person Maksim; 15.07.2009
comment
Вы можете использовать библиотеку JS (или что-то, что вы пишете), которая динамически вставляет тег скрипта. Вот статья об этом: jaybyjayfresh.com/2007/09/17/ Большинство основных библиотек JS делают это из коробки. Однако не уверен на 100%, как вы интегрируете его в GWT. - person seth; 15.07.2009