Gwt 在实施CORS后,ios UIWebView上的SOP违规,而不是FF桌面上的SOP违规?

Gwt 在实施CORS后,ios UIWebView上的SOP违规,而不是FF桌面上的SOP违规?,gwt,uiwebview,jetty,Gwt,Uiwebview,Jetty,我正在从域A加载我的GWT项目,然后尝试从位于不同域(B)的另一台服务器获取一些数据。所以我遇到了违反SOP的问题。为了解决这个问题,我在服务器B上实现了CORS。 现在,在Firefox桌面上运行时,SOP问题已经消失。然后我尝试在ios上的UIWebView中运行相同的代码。但我似乎违反了SOP: public class MyRequestCallback implements RequestCallback { @Override public void onRespo

我正在从域A加载我的GWT项目,然后尝试从位于不同域(B)的另一台服务器获取一些数据。所以我遇到了违反SOP的问题。为了解决这个问题,我在服务器B上实现了CORS。 现在,在Firefox桌面上运行时,SOP问题已经消失。然后我尝试在ios上的UIWebView中运行相同的代码。但我似乎违反了SOP:

public class MyRequestCallback implements RequestCallback {

    @Override
    public void onResponseReceived(Request request, Response response) {
        if (response != null) {
            if (response.getStatusCode() == 0) {
                // Is this a SOP violation?
            }
        }
    }
}
我可以看到连接需要一些时间(因此看起来请求正在发出),但是我只得到了一个零状态码

有人碰到过这样的事情吗?很难确定在哪里发布此消息,因为它涉及堆栈的几个不同部分。也许UIWebView上有一个属性我需要设置,告诉它可以使用CORS吗

为了在我的服务器上实现CORS(我使用的是jetty),我使用了:

谢谢

-----更新------

以下是如何在web.xml中定义我的过滤器:

<filter-mapping>
  <filter-name>cross-origin</filter-name>
  <url-pattern>/api/v1/*</url-pattern>
</filter-mapping>

交叉起源
/api/v1/*

FF客户端和ios客户端都在访问我的一个测试端点。

我改变了启动jetty的方式,现在使用:

而不是:

使用runner运行我的war,跨源请求工作正常。对于我使用的jetty版本(v7.3)和由于这个问题而更新到的版本(v7.6.9),都是如此。因此,我之前启动jetty的方式可能有某种错误


谢谢

您允许哪些来源?将CrossOriginFilter日志转到调试级别并查看日志;Firefox和iOS UIWebView之间有什么明显的区别吗?嗨,Thomas,上面更新了。我将研究你提到的这个日志,不熟悉它-我将按照你的建议尝试找出不同之处。