- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的问题是 infamous "StatusCodeException: 0"使用 时出现的问题GWT 2.6.1 通过子域访问页面时https://sub.site.com/
.
现在,这很容易发生偶尔 为 一位客户 使用 IE11 和 我无法重现 这是来自使用 IE11、IE10、IE9 或 IE8 的几台不同计算机(更不用说 Chrome 或 Firefox)。
从 https://site.com/
访问完全相同的 webapp似乎对那个客户工作正常。
这显然让我得出结论,我遇到了 Same Origin Policy 的问题。 .
奇怪的是,我的 webapp设计以这种方式 无跨域或 跨子域提出请求。 也是如此无交叉协议(protocol) 还有无跨端口要求。换句话说,同源政策在这种情况下不违反。作为确认,我可以提供以下证据:
While being at customer site I've seen how this is reproduced: customer starts using application and everything works fine - all requests are returning response normally. Then, after several minutes of working, exactly the same requests on the same page (without reloads) starts to fail with StatusCodeException: 0.
https://sub.site.com
和
https://site.com
指向同一个IP,还有
只有一个Tomcat webapp 为
https://sub.site.com
提供完全相同的资源和
https://site.com
.
DashboardService
的服务实例。 :
public class DashboardModule extends EntryPoint implements IDashboardModule {
private final DashboardServiceAsync dashboardService = createDashboardService();
@Override
public void onModuleLoad() {
// loading of module elements
// dashboardService is passed as a parameter so only one instance is used
}
/**
* PLEASE SEE QUESTION #1 BELOW CODE SNIPPET
*/
private static final String DASHBOARD_REQUEST_URL = "request";
private static DashboardServiceAsync createDashboardService() {
final DashboardServiceAsync service = GWT.create(DashboardService.class);
((ServiceDefTarget) service).setServiceEntryPoint(DASHBOARD_REQUEST_URL);
return service;
}
}
ERROR_INTERNET_INTERNAL_ERROR An internal error has occurred.
最佳答案
好的,所以在解决这个问题一个工作周后,我终于设法解决了它。
实际上,当我在 Tomcat 前面安装 Apache2 服务器并从另一个带有 IE11 的 VirtualBox Win7 主机访问它时,我能够在本地重现非常相似的问题。虽然这给了我带有 StatusCodeException: 0
的零星 Network error 0x2ef3
但行为非常相似:GWT-RPC 请求在一分钟左右后开始失败。这在 IE10 和 IE11 中是可重现的,但在 IE8 和 IE9 中工作正常:)( IE 在新版本中变得更糟糕了吗?)
本地 通过在 Keep-alive
Apache2 ssl 配置文件中添加以下行,我能够通过简单地禁用 IE 浏览器的 /etc/apache2/sites-enabled/default-ssl.conf
功能来解决该问题:
# following line was added
BrowserMatch "Trident" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
</VirtualHost>
</IfModule>
keep-alive
,使用
特殊的 SSL 处理,并且通常在请求中的
user-agent
字符串具有
Trident
字(匹配 IE11 和 IE10 以及可能更早的 IE)时降级到 HTTP 1.0 标准
Connection: close
HTTP header 添加到每个响应中,并且在本地
似乎工作正常。
Network error: 0x2ee4
。
keep-alive timeout
),这些 POST 请求开始随机失败,出现 0x2ee4 网络错误。
keep-alive
超时有关)。
关于重新审视 GWT-RPC 和臭名昭著的零星 "StatusCodeException: 0"异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25035780/
在我的 GWT 应用程序中。在调用服务方法之前,我覆盖了 RemoteServiceServlet 以检查 session 是否有效。我正在尝试从服务器抛出 RuntimeException("exp
对不起,如果我的英语不好。 我在调用我的 GWT 服务之一时遇到问题。在客户端,我有以下错误。 [ERROR] com.google.gwt.user.client.rpc.StatusCod
当 Tomcat session 超时时,我想将用户重定向到 GWT 应用程序的主页,以便他们可以再次登录。为了强制执行此操作,我尝试使用 StatusCodeException当用户在 sessio
我的问题是 infamous "StatusCodeException: 0"使用 时出现的问题GWT 2.6.1 通过子域访问页面时https://sub.site.com/ . 现在,这很容易发生
我创建了一个 GWT 应用程序,用于显示发生变化的 Zookeeper 节点数据。我已经在 GWT 之外测试了我的 Zookeeper 观察者类,并且知道它们可以工作。但是,当我的 servlet 类
我在Google GWT中遇到以下错误404: “Google App Engine Java和GWT应用程序开发代码。” 该程序称为connactr。 [ERROR] [connectr] - co
我有时/经常在 GWT 中遇到此异常,但不知道为什么: SEVERE: com.google.gwt.user.client.rpc.StatusCodeException: 0 java.lang.
1) 在 Mac 上安装 GWT 和 Eclipse 2) 使用名为 Hello 的生成代码创建了一个 GWT 项目 (2.4) 3) 在本地计算机上运行项目(在开发模式下),它按预期工作。 4) 编
我是一名优秀的程序员,十分优秀!