sap-cloud-sdk - 如何修复 oData VDM 生成器错误«尝试创建相同的字段两次»?
问题描述
我使用 SAP Cloud SDK 2.19.1 和 odata-generator-maven-plugin:2.19.1。当我尝试通过 oData 服务的元数据文件生成 VDM时,/sap/opu/odata/sap/API_PRODUCT_SRV
在执行命令期间出现错误mvn clean install
:
Error: URI=file:/D:/opensap/firstapp/application/edmx/ApiProductSrv.edmx Line=1: Document root element "edmx:Edmx", must match DOCTYPE root "null".
Error: URI=file:/D:/opensap/firstapp/application/edmx/ApiProductSrv.edmx Line=1: Document is invalid: no grammar found.
…
[ERROR] Failed to execute goal com.sap.cloud.s4hana.datamodel:odata-generator-maven-plugin:2.19.1:generate (generate-consumption) on project firstapp-application: Execution generate-consumption of goal com.sap.cloud.s4hana.datamodel:odata-generator-maven-plugin:2.1
9.1:generate failed: trying to create the same field twice: Продукт -> [Help 1]
我使用在 address 获得的元数据文件/sap/opu/odata/sap/API_PRODUCT_SRV/$metadata
,但它包含俄语文本。例如,在 sap 注释中:
<Property Name="Product" Type="Edm.String" Nullable="false" MaxLength="40" sap:display-format="UpperCase" sap:label="Продукт" sap:quickinfo="Номер продукта"/>
当我在检索元数据文件 ( $metadata?sap-language=EN
) 时指定区域设置时,可以生成 VDM。但是是否可以通过元数据文件生成正确的 VDM 而无需特殊指令 sap 语言?
谢谢!
解决方案
对于生成的代码,语言环境并不重要。因此,我们建议您明确使用英语语言环境来检索元数据。
SAP Cloud SDK 教程默认假定您系统的默认语言环境是英语。
推荐阅读
- reactjs - reactjs在新选项卡中打开文件,带有来自后端的标签和url using.map()
- android - Android 11 - 布局填充在模拟器中但不在实际设备上
- javascript - 你如何在 JavaScript 中以 10 以外的基数舍入一个数字?
- python - 如何使用 python mongodb 客户端库(pymongo)更新 mongodb 集合中所有文档的字段“类型”
- sql - 连接两个 SQL 表,其中表 1 中的外部 ID 在表 2 中出现两次
- mysql - 将 MySQL 与 .NET 5/EF 结合使用的瞬态错误
- arrays - 将元素添加到散列中的数组
- css - 代号一键在屏幕旋转时取消配置
- sql - 如何使用 sql 查询将数据附加到现有的 excel 文件
- containers - 是否可以列出其他用户使用 Podman 启动的正在运行的容器?