2011-12-12 89 views
0

我:的Restlet 2.1RC1:從詢問 - GWT客戶端發送到服務器總是NULL

    服務器上的客戶端
  • 的Restlet J2EE 2.1RC1上
  • 的Restlet GWT 2.1RC1

我有一直敲我的頭,但無論我嘗試:

ClientResource r = new ClientResource("/service" + UsersServiceProxy.URL); 
    r.setChallengeRespon​se(ChallengeScheme.H​TTP_BASIC, "user1", "secret"); 
    r.setOnResponse(new Uniform() { 
     public void handle(Request request, Response response) { 
      ..... 
     } 
    }); 
    r.get(); 

或此代碼:

UserServiceProxy userService = GWT.create(UserServiceProxy.class); 
    userService.getClientResource().setReference(url); 
    userService.getClientResource().setChallengeResponse(new ChallengeResponse(ChallengeScheme.HTTP_BASIC, "user1", "secret")); 
    userService.getUser(username + ":" + password, new Result<User>() { 

     @Override 
     public void onFailure(Throwable caught) { 
       ...... 
     } 

     @Override 
     public void onSuccess(User user) { 
      ..... 
     } 
    }); 

問題:

在服務器端沒有詢問 - 響應(== NULL)被接收。使用wireshark進行調試顯示沒有「授權:」通過線路發送。

使用Chrome的開發工具,我可以然而看到XHR請求發送到:http://user1:[email protected]​127.0.1.1:8888/servi​ce/user

所以在這裏,用戶名/密碼傳遞給服務器,但沒有認證頭? 我怎樣才能訪問這些服務器端?

我的設置不正確? 這是this bug的迴歸嗎?

+0

使用curl或@REST控制檯爲Chrome,我完全可以接受的基本身份驗證,這IMO規則指出,這可能是一個服務器端的問題。 – koma

回答

0

此bug已被修正。請參閱下一個2.1 RC2和2.0.11版本。

在修復詳見本期的更新: http://restlet.tigris.org/issues/show_bug.cgi?id=1060

+0

我看到相同的問題,現在使用相同的代碼。 GWT2.2.0和Restlet 2.1.2 ... –

+0

我應該補充說,即使執行GET,我也會在服務器端看到OPTIONS請求。它可能與某事正在做一個OPTIONS首先和restlet不指望401的呢? –

+0

更新:實際上,/ Restlet/GWT設置有問題。即使 '表示表示=新的ClientResource(「http:// localhost:2882/programs /」).get();' (不在服務器上進行身份驗證)返回'null'。但restlet.jse適用於該代碼。也許我需要降級...... –

相關問題