首页 > 其他分享 >SAP Fiori Elements 应用里的 ui5.yaml 文件详解试读版

SAP Fiori Elements 应用里的 ui5.yaml 文件详解试读版

时间:2023-08-13 13:00:54浏览次数:89  
标签:Elements 跨域 试读 yaml Fiori 应用 UI5 SAP

本教程第 4 篇文章,我们介绍了本地启动 SAP Fiori Elements 应用的三种模式。

以默认方式即命令行 yarn start 启动之后,项目文件夹里的 ui5.yaml 文件会默认被加载并解析。

ui5.yaml 这个文件,在本地开发 Freestyle UI5 时也会遇到,笔者在另一套教程 一套适合 SAP UI5 开发人员循序渐进的学习教程里曾经介绍过:

本文继续介绍这个 ui5.yaml 文件和 Fiori Elements 本地开发相关的知识。

迄今为止,我们开发的 Fiori Elements 应用的场景是,运行在本地,即 localhost:8080 的 Fiori Elements 应用,去调用部署在 SAP ES5 服务器上的 OData 服务,将 OData 服务调用结果显示在浏览器里。

  • 本地应用的协议是 http, 主机名 localhost, 端口号 8080
  • 远端 ES5 OData 服务的地址:https://sapes5.sapdevcenter.com,协议是 https, 主机名 sapes5.sapdevcenter.com,端口号 80.

因此这是一个典型的浏览器跨域访问的场景,直接在本地 Fiori Elements 应用里通过 JavaScript 跨域访问 ES5 的 OData 服务,会被浏览器安全策略阻止。

既然浏览器跨域访问是一个极为常见的场景,因此解决这个问题,也存在各种各样的解决方案:

本教程使用的方式是在 ui5.yaml 里配置 fiori-tools-proxy 这个代理服务器的解决方案。

我们在 Chrome 开发者工具 network 面板里观察到 Fiori Elements 应用发起的 OData 请求 url:

http://localhost:8080/sap/opu/odata/sap/SEPMRA_PROD_MAN/

可以看到,这个 url 也是以 http://localhost:8080 开头,因此规避了跨域问题。

但是,localhost:8080 这个主机上并没有 /sap/opu/odata/sap/SEPMRA_PROD_MAN/ 这个 OData 服务,因为该服务是部署在 SAP ES5 服务器上的。

这就是 fiori-tools-proxy 代理服务器发挥作用的地方。

下面是本文的详细内容

标签:Elements,跨域,试读,yaml,Fiori,应用,UI5,SAP
From: https://www.cnblogs.com/sap-jerry/p/17626412.html

相关文章

  • SAP Fiori Elements 应用里的 ui5-local.yaml
    SAPFioriElements是SAP的一种开发框架,用于快速构建SAPFiori应用程序。SAPFioriElements应用程序的一个重要方面是模拟服务器(mockserver),它允许在本地开发环境中模拟OData服务,以便在没有真实后端服务的情况下进行开发和测试。ui5-local.yaml文件用于配置本地开发环境......
  • yaml-cpp生成yaml文件及解析yaml文件
    1) 源码编译及安装获取源码$git clone https://github.com/jbeder/yaml-cpp.git$cd yaml-cpp && mkdir build && cd build && cmake .. && make && make install使用样例:由于yaml格式文件与xml和json格式的文件类似,采用树形结构。Yaml对于树节点定义为No......
  • YAML语法搞定ansible playbook
    这个页面提供一个正确的YAML语法的基本概述,它被用来描述一个playbooks(我们的配置管理语言).我们使用YAML是因为它像XML或JSON是一种利于人们读写的数据格式.此外在大多数变成语言中有使用YAML的库.你可能希望读Playbooks实践中如何使用的.基本的YAML对于Ansibl......
  • properties和yaml加载list
    properties和yml加载list方式一:shuhai:test:list:12,13,14@Value(“#{‘${shuhai.test.list}’.split(‘,’)}”)privateListlist;@Value(“${shuhai.test.list}”)privateListlist;方式二:shuhai:test:list:>121314@Valu......
  • Yaml语法
    世事变幻无常,而近乎永恒不变者,唯你我头上的同一片星空。Wherethereisnodesire,therewillbenoindustry.哪里没有欲望,哪里就不会有勤奋。一、YML是什么YAML(YAMLAintMarkupLanguage)是一种标记语言,通常以.yml或者.yaml为后缀的文件,是一种直观的能够被电脑识别的数......
  • YAML入门
    YAML速记在HydroOJ的时候,配置客观题遇到了此类文件格式。产生兴趣,简单学一下。学习参考视频:BV1yL4y1T7Pr什么是YAMLYAMLAin'tMarkupLanguage。YAML不是一种标记语言。是一种可读性高,用以表达数据序列化的格式文件后缀通常为 .yaml或.ymlYAML的语法规则使用缩进表......
  • PyYAML的使用
    YAML是一个被广泛使用的数据序列化和配置语言,作为一个开发者,总是不免和它打交道。但处理YAML文档,尤其是使用PyYAML的过程总是非常痛苦。这篇文章分享我在Python下使用PyYAML的技巧和代码片段,并介绍几个相关的库。注意:本文中的代码仅保证在Python3下正常工作总是使用 s......
  • UE5 蓝图运行时错误:"“无访问”正在尝试读取属性
    场景测试DBBrowser控件,打开网页功能,调试错误:蓝图运行时错误:"“无访问”正在尝试读取属性DBBrowserUI0"。节点:LoadURL图表:EventGraph函数:ExecuteUbergraphLoginUI蓝图:LoginUI分析当前问题是创建了一个DBBrowser的变量,但是没有给它赋值,就直接调用了,导致该值是空的,从而......
  • 通过读取yaml文件获得多个参数
    importpytestimportrequestsfromutils.read_yamlimportget_yaml_data#多个参数(’class1,class2‘,[('age','eat'),('age','eat')])@pytest.mark.parametrize('title,body,userId',[get_yaml_data()['list_test&#......
  • C# LINQ中使用聚合函数报错 Sequence contains no elements
    问题:在一个linq查询中使用了平均值聚合函数Average,结果报错Sequencecontainsnoelements(序列不包含任何元素)也就是说,使用某些linq的函数时,如果值不存在是会报错的,比如:First()Single()FirstAsync()SingleAsync()Last()LastAsync()Max()Min()Average()等,解决方案:......