云网站服务器_国内数据云存储_移动云数据库服务器主机-搜集站云

云主机_hl-3150cdn_高性能

小七 141 0

或:

如何实施深嵌件在里面SAP云应用编程模型在远程服务上进行深度插入使用SAP Cloud SDK

或:如何做到这一点就像以前的博客一样但使用SAP Cloud SDK

快速链接:项目文件第一部分:简介第2部分:UUID第3部分:多层次第4部分:上一个教程

在今天的教程中,我们将重写上一个项目,这次使用sapcloudsdk来处理远程OData服务。要完成的任务是一样的,但看起来会好一点。再次声明:我们使用SAP云应用程序编程模型创建并公开OData服务。我们没有使用自动持久化和公开的出色特性,而是连接到远程OData服务,手动执行读取和公开数据的实现工作。为了与远程服务通信和读写数据,我们使用了SAP Cloud SDK.

什么是SAP Cloud SDK?基本上,它是一个服务消费的图书馆,有很多不错的特性我能有更多的信息吗?要了解它,请参考高度推荐的博客系列与以前的实现有什么不同?首先,我们使用代理类而不是HashMaps其次,我们使用一个方法,而不是手动编写请求听起来不错,但肯定也有消极的一面…是的,开始需要一点时间我们该怎么办?遵循本教程但什么时候开始?叹息

目标

我们在本教程中的目标是实现与上一教程相同的结果,但代码较少:提供支持Deep Insert的OData服务,并连接到远程服务以在那里执行Deep Insert在处理远程服务时,我们使用sapcloudsdk

先决条件

作为先决条件,遵循前面的博客,我们正在重用我们在那里创建的项目。另外,这里提到的前提条件也是有效的

不需要SAP Cloud SDK的经验

准备

如果还没有准备好,创建一个类似于上一篇博客

中描述的项目来使用SAP Cloud SDK,我们必须添加依赖项并生成代理

因为我们正在重用在上一个教程中创建的项目,所以我们可以将所需的依赖项添加到现有项目的pom文件中就我而言,它位于…\Workspace\DeepInsertRemote\srv

像往常一样,在使用java库时,我们必须声明依赖项因此,微信返利机器人安全吗,我们将以下代码片段添加到pom.xml文件

注:本地计算机上需要"inject"依赖项。您这边可能不需要

注意:如果您是Eclipse用户并且以前没有使用过"Lombok",那么添加依赖项是不够的(请参阅疑难解答部分)

如前所述,我们希望使用代理类而不是HashMaps在sapcloudsdk中,这些类被称为"虚拟数据模型",比简单的pojo功能强大得多SDK交付附带了s4hana中现有api的内置数据模型因此,如果您想连接到S4系统,您可以只使用交付的代理类

然而,在我们的教程中,我们没有使用S4系统,因为它太难获得,这将使您很难遵循教程

相反,我们使用的是公共读/写OData v2服务GW\u SAMPLE\u BASIC,大数据主要学什么,如这里所述优点:每个人都可以遵循本教程,产业云,即使没有S4系统可用缺点:SDK的虚拟数据模型没有相应的代理解决方案:我们自己生成代理怎么做?按照此说明

1)下载生成器工具生成器是一个可执行的jar文件,数据无价,需要从Maven中央存储库下载在浏览器中打开此链接它显示odata generator cli的最新版本点击最新的小"jar"超链接下载生成器工具

将下载的jar文件复制到您选择的位置,例如C:\tmp放在那里继续下一步

2)下载元数据文件打开远程V2服务的元数据文档:https://sapes5.sapdevcenter.com/sap/opu/odata/iwbep/GWSAMPLE\u基本/$元数据使用注册用户登录保存/下载xml将文件复制到C:\tmp\input将文件重命名为Gwsample.xml文件如果你不喜欢这个名字,你可以选择任何不同的名字。但请注意,在生成数据模型

3)生成器语法时将使用此名称要生成代理类,请切换到命令提示符,导航到c:\tmp并运行生成器。命令组成如下

java-jar odata-generator-cli-2.19.1.jar-输入目录-可以跳过输出目录,因为将使用文件夹目标-包名称前缀–使用odata名称

注使用java-jar odata-generator-cli-2.19.1.jar-help来描述参数

注意:我不使用output dir,因为默认情况下会生成一个文件夹目标注:我不使用input dir,因为上面我们创建了文件夹"input",这是默认的注:我建议使用可选参数package name prefix,否则将使用默认值,这是非常长和特定的注:我建议使用–use odata names标志,否则可能找不到所需的类,因为名称与预期的不同我不明白好的,快速检查一个例子在下载的元数据xml文件中,我们可以找到EntityType它有一个Property在上一个教程中,我们使用该属性名访问HashMap中的相应条目第2版请求映射.put("注",v4请求地图.get("注释顺序");现在,我们期望代理生成器生成一个名为SalesOrder的类和一个名为"note"的变量,该变量导致一个名为销售订单.getNote()这就是我们想要的,对吗?是的但是,该属性具有标签注释vProperty。sap:标签="描述"默认情况下,生成器使用此标签为变量和getter生成名称,这将导致SalesOrder.getDescription公司()不错不,不好,如果你不知道getDescription()的意思是getNote()好的,明白了同意使用标志-使用odata名称?是的,当然很好

4)生成代理

最后,让我们执行命令。在我的示例中:

java-jar-odata-generator-cli-2.19.1.jar-pcom.example.proxies代理–使用odata名称

结果,代理类被生成到一个新文件夹C:\tmp\target中停,我有个错误…!你创建了输入文件夹吗?哦,对不起叹息…现在怎么办?

现在我们想在我们的项目中使用生成的类因此,我们复制根文件夹"proxies"并将其粘贴到CAP项目中的package文件夹中com.example公司

在我的例子中,(使用Eclipse)我的文件系统看起来是这样的