У меня есть служба REST: http://localhost:4242/myrestservice/getobject, которая возвращает некоторые данные JSON
Затем у меня есть мой GWT-клиент: http://localhost:4242/gwtclient, который должен выполнять асинхронные вызовы клиентаREST service.
Я довольно новичок в этом, поэтому моей первой идеей было сделать следующее:
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode("http://localhost:4242/myrestservice/getobject"));
builder.setHeader("Accept", "application/json");
builder.setCallback(new MyObjectDescCallback());
builder.setRequestData("");
Request req = builder.send();
...
final class MyObjectDescCallback implements RequestCallback {
public void onError(Request request, Throwable exception) {
showAlert("error = "+exception.getMessage());
GWT.log(exception.getMessage());
}
public void onResponseReceived(Request request, Response response) {
showAlert("response = " + response.getStatusCode());
//Do my stuff here
}
}
}
К сожалению, я не получил ответа.
Я проверилслужба Rest, и она отправляет объект
Кажется, что мое приложение GWT не получает ответ.
Есть идеи, как заставить это работать?
ОБНОВЛЕНИЕ
Вот мои результаты с Firebug:
Response Headers
Server Apache-Coyote/1.1
Content-Type application/json
Transfer-Encoding chunked
Date Sun, 24 Apr 2011 11:04:15 GMT
Request Headers
Host 127.0.0.1:4242
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0) Gecko/20100101 Firefox/4.0
Accept application/json
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip, deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
Referer http://localhost:4242/gwtclient/gwtclient.html
Origin http://localhost:4242
Но я получаю response.getStatusCode () = 0 и пустой ответ!
ОБНОВЛЕНИЕ 2:
Iчувствую себя так глупо ...
Проблема была на самом деле SOP ...
Я использовал URL localhost, но в своем коде я использовал 127.0.0.1!
Блин ....