2014-04-30 43 views
0

我有一個Web應用程序,它使用在Glassfish服務器上運行的客戶端上的GWT和restygwt開發的LDAP身份驗證。一切似乎都在Chrome和Firefox中正常運行。但在Safari中。我甚至嘗試登錄之前收到HTTP狀態0。無論Chrome和Firefox正確請求在Safari HTTP狀態下GWT XHR錯誤的URL 0

http://localhost/pROJECT/user/self. 

但是Safari的請求

http://project/user/self 

不存在。所有其他的CSS,HTML,JS請求是正確的網址。爲什麼Safari會從請求中刪除localhost?並認爲該項目是東道主?我已經能夠做到目前爲止沒有看到生成的JavaScript。這一點我需要做些什麼?

這裏的服務定義

@Path("user") 
public interface UserService extends RestService { 
    @GET 
    @Path("self") 
    public void self(MethodCallback<User> callback); 
} 

下面是從客戶機到服務呼叫的冗長

userService.self(new MethodCallback<User>() { 
     public void onFailure(Method method, Throwable exception) { 
      statusBar.error(exception); 
     } 

     public void onSuccess(Method method, User self) { 
      statusBar.done(); 
     } 
    }); 

我可以提供更多的信息或代碼,如果要求。

+0

您是否正在DEV模式下運行它?如果是,則缺少'gwt.codesvr參數'。如果您在其中使用沒有gwt.codesvr的URL,那麼您正在運行編譯版本 而不是DEV模式。 – Braj

+0

不幸的是在DEV模式下。我正在使用Netbeans進行開發,並且不確定如何在glassfish的外部實例中使用GWT設置調試。我已經在DEV模式下的eclipse中運行GWT示例,但僅僅是因爲GWT eclipse插件使該過程變得輕鬆。 – sk8er3810

回答

0

嘗試使用Defaults.setServiceRoot(GWT.getHostPageBaseURL());(如果還沒有的話)

+0

這可以是評論 – Devrath

+0

我認爲這可以解決他的pb,這就是爲什麼我發佈它作爲答案 –