0

我正在尝试使用 SFSF 中的 EDMX 创建 VDM,使用此博客

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

该过程开始并失败,并显示以下消息:“不支持具有多个模式的 OData 模型”,然后是“无法生成虚拟数据模型类”。

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

据我了解,这应该与商业中心的任何 api 一起使用?我做错了什么还是我错过了什么?

谢谢。

4

1 回答 1

1

更新:

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

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


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

同时,作为一种解决方法,您可以使用我们的 maven 插件或 CLI 为您创建数据模型。这在这篇博文中有详细描述。

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 Business Hub 下载元数据文件 (edmx)(在您的问题中链接)
  4. 使用例如以下命令运行 C​​LI:
    java -jar odata-generator-cli-2.16.0.jar -i <input-directory> -o <output-directory> -b <base-path>
    
    里面是要在主机配置和实际服务名称之间使用的<base-path>前缀(与服务无关)。
  5. 将生成的代码手动添加到您的项目中。

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

于 2019-05-22T10:34:54.620 回答