2013-10-03 56 views
2

從GWT(使用RestyGWT)一個典型的寧靜調用如下:處理重定向從一個RESTful或JAX-RS Web服務響應

LoginService.Util.getService().login("FACEBOOK", new MethodCallback<Void>() { 
    @Override 
    public void onSuccess(Method method, Void response) { 

    } 

    @Override 
    public void onFailure(Method method, Throwable exception) { 

    } 
}); 

雖然可能呼叫響應的onSuccess,在重定向響應不處理。其中服務器端重定向看起來是這樣的:

return Response.seeOther(new URI(url)).build(); 

什麼是處理的正確方法從請求通過RequestBuilderRestyGWT要麼做重定向?

+0

如果我更改登錄方法返回的URL字符串重新定向到,Facebook的抱怨請求沒有來自域。所以Window.Localation.replace不是一個可行的方法 – xybrek

回答

0

試試這個,

response.sendRedirect("http://10.62.229.57:8080/birt/"); 

我使用的JAX-RS Web服務重定向響應

0

檢查本教程中,RequestBuilder,並嘗試這個,

// Send request to server and catch any errors. 
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url); 

try { 
    Request request = builder.sendRequest(null, new RequestCallback() { 
     public void onError(Request request, Throwable exception) { 
      displayError("Couldn't retrieve JSON"); 
     } 

     public void onResponseReceived(Request request, Response response) { 
      if (200 == response.getStatusCode()) { 
       updateTable(JsonUtils.safeEval(response.getText())); 
      } else { 
       displayError("Couldn't retrieve JSON (" + response.getStatusText() + ")"); 
      } 
     } 
    }); 
} catch (RequestException e) { 
    displayError("Couldn't retrieve JSON"); 
}