我有一个具有LDAP身份验证的web应用程序,该应用程序在Glassfish服务器上运行,在客户端使用GWT和restygwt开发。在Chrome和Firefox中,一切似乎都正常工作。但是在Safari中。我甚至在尝试登录之前就收到了HTTP状态0。Chrome和Firefox都正确地请求
http://localhost/pROJECT/user/self.
但是Safari正在请求
http://project/user/self
这是不存在的。所有其他css、html、js请求都是正确的url。为什么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();
}
});
如果需要,我可以提供更多信息或代码。
如果还不是的情况,请尝试使用Defaults.setServiceRoot(GWT.getHostPageBaseURL());