Fiori学习笔记 - 服务跨域处理neo-app
学习Fiori有一段时间了,今天详细了解了一下neo-app配置文件,特在此记录一下。
Eclipse + SAP UI5插件开发是不需要neo-app配置文件的,这个文件主要是针对于Web IDE开发工具,用来读取一些核心类库的配置信息以及服务路径代理的配置。
Web IDE项目是跑在一个BS结构的web版的IDE,它的host和APP将要请求的host是不一样的,那么这就导致了一个不同host跨域的问题。
跨域的问题在Eclipse开发时是通过proxy来处理的,代码长成这样:
proxy/http/www.yourhost.com
Web IDE开发不支持这个处理方法,而是提供neo-app.json这个配置文件,通过Destination配置来完成跨域的处理,这个文件通常的路径在工程的根目录下面。
neo-app.json一般都是这样的:
{"welcomeFile": "/webapp/index.html","routes": [{"path": "/resources","target": {"type": "service","name": "sapui5","entryPath": "/resources"},"description": "SAPUI5 Resources"},{"path": "/test-resources","target": {"type": "service","name": "sapui5","entryPath": "/test-resources","version":"1.44.7"},"description": "SAPUI5 Test Resources"},{"path": "/DemoService","target": {"type": "destination","name": "ODataDemoService","version":"1.44.7"},"description": "Demo service"}],"sendWelcomeFileRedirect": true
}
welcomeFile
是项目运行起来之后默认去找的路径,判断路径是否有效,有效的话去加载工程的Component。
routes
是工程路由的一个配置,这个路由并不是项目页面跳转的路由,而是这个工程核心库的路径配置以及服务要访问的路径配置。
routes第一项里的"path": "/resources"
,这个resources要对应index.html里src里面的resources。路径匹配之后才可以访问到sap-ui-core.js这个核心类库,否则是找不到的。
部分index.html代码:
<script id="sap-ui-bootstrap"src="../../resources/sap-ui-core.js"data-sap-ui-libs="sap.m"data-sap-ui-theme="sap_belize"data-sap-ui-compatVersion="edge"data-sap-ui-resourceroots='{"richard.odata.demoODataModelDemoCase": ""}'>
</script>
routes第二项里的"path": "/test-resources"
, 和第一项配置大同小异,就不多说了。
第三项"path": "/DemoService"
, 这个就是服务反向代理配置。在controller里调用服务的时候匹配DemoService就可以了,比如下面的controller部分代码:
var odataModel = new sap.ui.model.odata.v2.ODataModel('/DemoService/V2/(S(vwvvf40szqul4pkwqq50peal))/OData/OData.svc/', false);
里面的 target “type”: “destination”, 这个destination主要是针对于SAP环境。 如果说gateway系统是在一个内网或者局域网里,而Web IDE 和SAP是公有云服务,所以就需要这个destination将gateway的内网映射出来,使Web IDE 和SAP得以访问。
destination的配置在账号connectivity下面:
在可以配置多个destination,每个destination对应一个name,这个name要配置在neo-app文件中,要和target下面的name一致 ,即”name”: “ODataDemoService”。
下面这张图片就是一个destination的所有属性,这里的Name就是neo-app文件target下面的name,URL是服务要访问的真正地址。
到这里neo-app的核心类库配置和项目里服务的代理详解就完成了!
Fiori学习笔记 - 服务跨域处理neo-app相关推荐
- 跨域学习笔记2--WebApi 跨域问题解决方案:CORS
自己并不懂,在此先记录下来,留待以后学习... 正文 前言:上篇总结了下WebApi的接口测试工具的使用,这篇接着来看看WebAPI的另一个常见问题:跨域问题.本篇主要从实例的角度分享下CORS解决跨 ...
- Go语言学习笔记——jwt跨域鉴权
文章目录 Golang jwt跨域鉴权 jwt介绍 JWT 到底是什么? JWT 和 OAuth 选择签名方法 签名方法和密钥类型 安装jwt 简单使用 生成JWT 解析jwt 测试:生成token并 ...
- [UVMC]UVMC学习笔记之跨语言作用域的config操作
UVMC学习笔记二 --- 跨语言作用域的config操作 前言:UVMC引入了特定的内存共享方法,可以在UVM/SystemVerilog与SystemC模块之间传递记名的半全局变量,在使用方式上类 ...
- iframe跨域调用js_郑州Web前端基础学习之JS跨域知识梳理
JS是Web前端开发三要素之一,是郑州Web前端基础学习中非常重要的知识点.JS涉及的知识点多且杂,很多同学反映不知如何下手,事实上,只要你认真记.多练习,就可以慢慢掌握它.今天千锋郑州Web前端培训 ...
- openlayes调用arcgis wms服务跨域问题(arcgis server10.2)
在使用ol5调用arcgis wms服务使用canvas导处图片的时候会出现跨域问题. wms图层加载方式 new ol.layer.Image({ source: new ol.source.Ima ...
- sliverlight 访问WCF服务跨域错误解决方法
sliverlight访问wcf服务提示跨域错误! 一般是由于跨域文件不存在造成的,方法是创建XML 文件重命名为clientaccesspolicy(必须是这个名字)内容 <?xml vers ...
- 【笔记】跨域重定向中使用Ajax(XHR请求)导致跨域失败
背景: 1.前端Web中有两个域名,a.com和b.com,其中a.com是访问主站(页面),b.com是数据提交接口的服务器(XHR请求) 2.a.com中用XHR调用b.com/cerate[没有 ...
- Python学习笔记:Day 16 编写移动App
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- Dapr牵手.NET学习笔记:跨物理机负载均衡服务调用
dpar在同一台电脑上不能run 相同appid,这个在上篇说过,所以就用外部负载均衡nginx来对应,那在不同的host中跑同一服务,看看dapr内部的负载均衡是怎么实现的. 说说现有的服务,两个服 ...
最新文章
- python 中文转unicode编码_Python 解码 Unicode 转义字符串
- PostgreSQL数据库dblink和postgres_fdw扩展使用比较
- 修改Tomcat默认端口号,避免与IDEA冲突
- PAT甲级1058 A+B in Hogwarts :[C++题解]字符串,进制,简单
- Java基础day18
- 浅谈CruiseControl的部署
- Mac的文件比对工具:Meld、Beyond Compare
- (水题)洛谷 - P1603 - 斯诺登的密码
- OpenCV学习笔记04:在Visual Studio上使用OpenCV4.5.5
- Linux---管道通信的使用
- Java Synchronized 关键字
- Java编程经典10道_10道经典java编程笔试题
- 记忆化搜索--poj 1597 Function Run Fun
- 用mysql web建立论坛_在web1上搭建Discuz论坛
- fastReport 绑定DataBand数据源后还是打印出一条数据
- 【数据结构与算法】排序算法总结
- java 转义符 输出,Java转义字符怎么输出的
- mysql 加权_mysql/stats:加权平均值以突出平均值的差异
- volatile有序性的真正作用
- 【OpenCV】-重映射