到目前为止,我们已经使用了本地JSON数据,但是现在我们将访问一个真正的OData服务来可视化远程数据。

用可公开获得的Northwind OData服务显示并替换发票模型的JSONModel类型,以可视化远程数据。您将会惊讶地发现,要实现这一点,几乎不需要做什么更改!

请注意:这一步是可选的。如果无法使其工作,不要太担心,其余步骤也将处理到目前为止使用的本地JSON数据。

Preview

Products from the OData invoices test service are now shown within our app

Coding

You can view and download all files at Walkthrough - Step 26.

webapp/manifest.json

{
"_version": "1.12.0",
"sap.app": {
...
"ach": "CA-UI5-DOC",
"dataSources":{
"invoiceRemote":{
"uri":"https://services.odata.org/V2/Northwind/Northwind.svc/",
"type":"OData",
"settings":{
"odataVersion":"2.0"
}
}
}
},
"sap.ui": {
...
},
"sap.ui5": {
...
"models": {
"i18n": {
"type": "sap.ui.model.resource.ResourceModel",
"settings": {
"bundleName": "sap.ui.demo.walkthrough.i18n.i18n"
}
},
"invoice": {
"dataSource":"invoiceRemote"
}
}
}
}

在描述符文件的sap.app部分,我们添加了一个数据源配置。使用invoiceRemote键,我们指定一个允许自动模型实例化的配置对象。我们指定服务(OData)的类型和模型版本(2.0)。在此步骤中,我们希望使用位于https://services.odata.org/V2/Northwind/Northwind.svc/的可公开获取的Northwind OData服务。因此,URI指向官方的Northwind OData服务。

在models部分,我们替换发票模型的内容。当模型在组件初始化期间自动实例化时,此键仍然用作模型名。但是,数据源键的invoiceRemote值是对上面指定的数据源部分的引用。该配置允许组件在应用程序启动期间检索该模型的技术信息。

我们的组件现在自动创建sa .ui.model.odata.v2的一个实例。根据我们在上面指定的设置,ODataModel,并使其作为名为invoice的模型可用。当您使用invoiceRemote数据源时,ODataModel从真正的Northwind OData服务获取数据。我们从Northwind OData服务收到的发票与我们之前使用的JSON数据具有相同的属性(除了status属性,该属性在Northwind OData服务中不可用)。

请注意:如果希望组件上有一个默认模型,可以将模型名称更改为描述符文件中的空字符串。自动实例化的模型可以通过调用它来检索。组件中的getModel。在基于组件的应用程序的控制器中,您可以调用这个. getview (). getmodel()来获得自动实例化的模型。要检索一个命名的模型,您必须将描述符文件中定义的模型名称传递给getModel,也就是说,在组件中您将调用this.getModel(“invoice”)来获得我们在描述符中定义的自动生成的发票模型。

你现在可以试着运行这个应用程序,看看会发生什么——我们会在控制台看到一个与我们的新配置相关的错误:

在谷歌Chrome中违反同源策略

由于所谓的同源策略,如果服务端点具有与应用程序不同的域/子域、协议或端口,浏览器将拒绝对服务端点的AJAX请求。出于安全原因,浏览器拒绝直接连接到远程URL。根据您的开发环境,您有不同的选择来克服这个限制:

SAP Web IDE: Configure a destination

Local Development: Configure a local proxy (CORS anywhere)

Workaround: Disabling the same-origin policy in the browser (not recommended, only for testing)

Parent topic: Walkthrough

Previous: Step 25: Sorting and Grouping

Next: Step 27: Mock Server Configuration

Related Information

Use a SimpleProxyServlet for Testing to Avoid Cross-domain Requests

OData Home Page

API Reference: sap.ui.model.odata.v2.ODataModel

First-Aid Kit

Request Fails Due to Same-Origin Policy (Cross-Origin Resource Sharing - CORS)

UI5-文档-4.26-(Optional) Remote OData Service的更多相关文章

  1. Java服务器端生成报告文档:使用SQL Server Report Service(SSRS)

    SQL Server Report Service(SSRS)提供了Asp.Net和WinForm两类客户端组件封装,因此使用C#实现SSRS报表的导出功能,仅需要使用相应的组件即可. Java操作S ...

  2. 基于数据库的自动化生成工具,自动生成JavaBean、自动生成数据库文档等(v4.1.2版)

            目录:            第1版:http://blog.csdn.net/vipbooks/article/details/51912143            第2版:htt ...

  3. __x__(26)0907第四天__文档流_网页最底层

    文档流 处在网页的最底层,表示的是一个页面中的位置. 创建的元素,默认都处于文档流中. 元素在文档流中的特点 块元素 在文档流中独占一行. 自上而下排列. 宽度默认占父元素的 100%,width=& ...

  4. ES 26 - 通过partial update局部更新索引文档 (partial update增量修改原理)

    目录 1 什么是partial update 1.1 全量修改文档的原理 1.2 修改指定field的思路 1.3 partial update的优势 1.4 partial update的使用 2 ...

  5. 26 JavaScript HTML DOM简介&方法&文档

    HTML DOM: Document  Object  Model 文档对象模型.是HTML的标准对象模型和编程接口.(JavaScript只是可以操作HTML DOM的语言之一) 定义了HTML元素 ...

  6. Vert.x Core 文档手册

    Vert.x Core 文档手册 中英对照表 Client:客户端 Server:服务器 Primitive:基本(描述类型) Writing:编写(有些地方译为开发) Fluent:流式的 Reac ...

  7. Spring Boot文档

    本文来自于springboot官方文档 地址:https://docs.spring.io/spring-boot/docs/current/reference/html/ Spring Boot参考 ...

  8. MongoDB和Redis-NoSQL数据库-文档型-内存型

    1NoSQL简述 CAP(Consistency,Availabiity,Partitiontolerance)理论告诉我们,一个分布式系统不可能满足一致性,可用性和分区容错性这三个需求,最多只能同时 ...

  9. Spring Boot文档阅读

    原因之初 最初习惯百度各种博客教程,然后跟着操作,因为觉得跟着别人走过的路走可以少走很多弯路,省时间.然而,很多博客的内容并不够完整,甚至错误,看多了的博客甚至有千篇一律的感觉.此外,博客毕竟是记载博 ...

随机推荐

  1. nginx php 配置

    nginx php 环境的搭建步骤: 1.nginx 配置: server { listen       4446; server_name  localhost; location / { root ...

  2. 初探Net框架下的XML编程技术

    一.前言: XML是微软.Net战略的一个重要组成部分,而且它可谓是XML Web服务的基石,所以掌握.Net框架下的XML技术自然显得非常重要了.本文将指导大家如何运用C#语言完成.Net框架下的X ...

  3. dell support

    部門營業時間 電話號碼訂單支援中小型企業 (員工不多於 500名 )00852-3416-0910 9:00 - 18:00 訂單編號:  810607806 訂單日期:  26/11/2014 客戶 ...

  4. zstack(一)运行及开发环境搭建及说明(转载)

    本篇介绍zstack的部署环境,以及二次开发环境 运行环境 讲真,ZStack的安装做的还是不错的,提供多种安装模式,如离线安装.在线安装.一键安装.分布式安装等.安装的过程其实都很简单,当然这也是z ...

  5. Python——包

    包 —— 把解决一类问题的模块放在同一个文件夹里 包的导入 import 和 from ... import 都行 导入之前:凡是带点的,点的左边都必须是包 导入之后:点的左边可以是包.模块.函数.类 ...

  6. 简单的爬虫例子——爬取豆瓣Top250的电影的排名、名字、评分、评论数

    爬取思路: url从网页上把代码搞下来bytes decode ---> utf-8 网页内容就是我的待匹配的字符串ret = re.findall(正则,待匹配的字符串), ret 是所有匹配 ...

  7. sql存储过程输出

    1.存储过程写法 create procedure [dbo].[Y_GetICBillNo] @IsSave smallint, @FBillType int, @BillID VARCHAR (5 ...

  8. AIX6.1用g++安装Poco-1.6.1-all

    项目终于到了把程序往小型机上部署的阶段了.不得不说AIX真是让人恶心,一个Poco编译弄了我1周时间.网上根本没有相关的资料. 1. AIX下安装gcc/g++:在ftp://ftp.software ...

  9. springMVC参数绑定JSON类型的数据

    需求就是: 现在保存一个Student,并且保存Student的friend,一个student会有多个朋友,这里要传递到后台的参数是: var friends = new Array(); var ...

  10. ROS+L2TP+IPSEC

    在WIN7X64,WIN8.1,WIN10,MACBOOK和苹果的IOS10调试L2TP/IPSEC通过 请注意IPSEC,要求客户端IP必须唯一,不可以有重复,那么访问VPN服务器的客户端IP,就不 ...