【发布时间】:2014-06-04 22:07:44
【问题描述】:
我有一个带有 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();
}
});
如果需要,我可以提供更多信息或代码。
【问题讨论】:
-
你是在 DEV 模式下运行它吗?如果是,则缺少
gwt.codesvr parameter。如果您使用没有 gwt.codesvr 的 URL,则您正在运行应用程序的编译版本,而不是 DEV 模式。 -
很遗憾不在 DEV 模式下。我正在使用 Netbeans 进行开发,但不确定如何在 glassfish 的外部实例中使用 GWT 设置调试。我已经在 DEV 模式下在 eclipse 中运行了 GWT 示例,但这仅仅是因为 GWT eclipse 插件使该过程变得简单。
标签: gwt safari xmlhttprequest resty-gwt