sap.ui.model.odata.ODataModel在serivces.odata.org上返回501错误

时间:2013-10-09 07:19:40

标签: odata sapui5

我正在尝试以这种方式在SAP UI5中创建OData模型:

new sap.ui.model.odata.ODataModel("http://services.odata.org/Northwind/Northwind.svc/");

但是我收到了501未实现的错误! 你能检查一下是什么问题吗?

谢谢

3 个答案:

答案 0 :(得分:0)

请使用“proxy / http / services.odata.org / Northwind / Northwind.svc”,我认为这可以解决您的问题!

答案 1 :(得分:0)

据我所知,该服务并非真正启用了CORS。我在这里遇到了同样的问题,一旦我没有使用某种代理,我就会收到这个错误。 其背后的原因是,当您向服务发送复杂请求时,您将自动拥有浏览器发送的所谓预检请求(在实际GET之前),这不是GET-Request,而是HTTP OPTIONS请求。 所有odata.org示例服务此类请求都会返回501错误。 你可以,例如使用随UI5一起提供的simpleProxyServlet,当然还有任何其他可以解决此问题的代理。

答案 2 :(得分:0)

您收到此错误,因为浏览器会因同一原始政策拒绝此请求。这是你应该做的:

  • 在与您要调用的服务相同的服务器或域上部署应用,以便两个资源位于同一源(如果可能)

  • 在浏览器中禁用同源策略以进行本地测试。使用以下命令运行Chrome运行Chrome: [你的路径对铬与安装目录] \的chrome.exe --disable-web-security --user-data-dir。在运行命令之前,请确保已关闭所有Chrome实例。这允许所有网络 网站打破同源政策并连接到 直接远程服务。

    - >不要在高效的应用程序中执行此操作,因为它会带来安全风险。

  • 使用代理

以下文档可以帮助您更好地理解这一点并实施: