无法使用 Cloud SDK 创建虚拟数据模型 类

Cannot create Virtual Data Model classes using Cloud SDK

我正在尝试使用来自 SFSF 的 EDMX 创建 VDM,使用 this blog

我创建了一个 SCP 业务应用程序模板,然后在 srv 模块中尝试添加来自外部源的新数据模型 - 在本例中为 API 业务中心。 我尝试使用 SuccessFactors Employee Central - 个人信息。 https://api.sap.com/api/ECPersonalInformation/overview

进程启动并失败并显示消息:"OData models with multiple schemas are not supported" 然后是 "Could not generate Virtual Data Model classes."

外部文件夹按预期生成,EDMX 文件夹中有 XML,但 csn 文件夹为空。

据我了解,这应该适用于来自商务中心的任何 api?我是做错了什么还是错过了什么?

谢谢。

更新:

Web 使用的从 EDMX 到 CSN 的转换似乎存在问题 IDE(这不是 SAP Cloud SDK 的一部分)。

OData Generator 从 SAP Cloud SDK 生成的 Java VDM(被 Web IDE 用作组件)应该可以正常工作。


这看起来像是意外行为。我们将对此进行进一步调查。

同时,作为解决方法,您可以使用我们的 maven 插件或 CLI 为您创建数据模型。这在 this blog post.

中有详细描述

tl;dr 版本(用于 CLI)是:

  1. 确定您使用的是哪个版本的 SAP Cloud SDK(在您的父 pom.xml 中搜索 sdk-bom)。对于此示例,我假设这是版本 2.16.0。
  2. 从maven central下载CLI库:https://search.maven.org/artifact/com.sap.cloud.s4hana.datamodel/odata-generator-cli/2.16.0/jar
  3. 从 API 商业中心(如您问题中的链接)下载元数据文件 (edmx)
  4. 运行 CLI,例如以下命令:
    java -jar odata-generator-cli-2.16.0.jar -i <input-directory> -o <output-directory> -b <base-path>
    
    <base-path> 是在主机配置和实际服务名称之间使用的前缀(与服务无关)。
  5. 将生成的代码手动添加到您的项目中。

我会根据调查结果更新此答案。