【问题标题】:Cannot create Virtual Data Model classes using Cloud SDK无法使用 Cloud SDK 创建虚拟数据模型类
【发布时间】:2019-05-20 14:25:42
【问题描述】:

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

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

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

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

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

谢谢。

【问题讨论】:

    标签: s4sdk sap-cloud-sdk


    【解决方案1】:

    更新:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-02
      • 2012-10-20
      • 1970-01-01
      • 2015-03-09
      • 2018-11-29
      • 2016-01-05
      • 2015-12-15
      • 1970-01-01
      相关资源
      最近更新 更多