使用 SAP Fiori Tools 自带的代理服务器解决本地运行的 SAP UI5 应用访问远端服务遇到的跨域问题试读版

我们部署在本地开发环境运行的 SAP UI5 应用,由于浏览器安全策略的限制,无法直接访问远端 OData 服务,原因是我们的 SAP UI5 应用本地运行在 localhost 这个域名上,而远端请求的 OData 服务的域名比如说 services.odata.org,二者不是同一个域名,由于浏览器安全策略,浏览器拒绝这种跨域的 HTTP 访问请求。

笔者的 一套适合 SAP UI5 开发人员循序渐进的学习教程 曾经介绍过很多种不同的办法来解决 SAP UI5 应用本地开发时遇到的这种跨域问题

本文笔者再介绍另一种方法,使用 SAP Fiori Tools 自带的代理服务器中间件(middleware),开发人员既不需要动手亲自开发代理服务器,也不需要下载第三方的代理服务器然后在本地安装,而是直接在 SAP UI5 本地工程的 ui5.yaml 文件里进行简单配置即可。

本步骤基于的例子仍然是步骤 24 即消费远端 OData 服务 https://services.odata.org/V2/Northwind/Northwind.svc/.

在步骤 24 里,我们直接禁掉了 Chrome 浏览器的安全检查策略。在上面提到的其他教程文章里,笔者使用了自定义或者第三方的代理服务器,来规避跨域访问 OData 服务的错误。

我们先查看按照本文介绍的步骤完成后,达到的效果。

运行在 localhost 上的本地 SAP UI5 应用,能否成功访问远端 https://services.odata.org 上的 OData 服务,并将 invoice 列表取回来显示在应用的表格控件里。

下面是该步骤的详细实现过程讲解。

猜你喜欢

转载自blog.csdn.net/i042416/article/details/130535215