SAP Gateway Service中带有二进制密钥的实体

2020-09-15 16:46发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我刚刚创建了一个带有实体的SAP Gateway Service,该实体使用GUID(ABAP类型RAW 16)作为键(例如" 00155DEDEF921ED7919022D2200320C3")。

请求响应,该密钥似乎已转换为base64表示形式,例如" ABVd7e + SHteRkCLSIAMgww ==",这导致以下问题:

如果我对一个单一实体(如/sap/opu/odata)发起新请求/sap/MY_GATEWAY_SERVICE/EntityTypeSet('ABVd7e + SHteRkCLSIAMgww ==')我收到以下错误消息:"'KEY'的无效谓词类型。 预期的类型为'Edm.Binary'"。

唯一有效的请求似乎是/sap/opu/odata/sap/MY_GATEWAY_SERVICE/EntityTypeSet(binary'00155DEDEF921ED7919022D2200320C3'),它使用guid的十六进制表示形式 。

但是,由于我总是在所有请求响应中获得guid的base64表示,所以我不知道如何创建有效的请求。

谁能帮助我并解释如何将GUID用作 键。

在此先感谢和问候,
Michael Liermann

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我刚刚创建了一个带有实体的SAP Gateway Service,该实体使用GUID(ABAP类型RAW 16)作为键(例如" 00155DEDEF921ED7919022D2200320C3")。

请求响应,该密钥似乎已转换为base64表示形式,例如" ABVd7e + SHteRkCLSIAMgww ==",这导致以下问题:

如果我对一个单一实体(如/sap/opu/odata)发起新请求/sap/MY_GATEWAY_SERVICE/EntityTypeSet('ABVd7e + SHteRkCLSIAMgww ==')我收到以下错误消息:"'KEY'的无效谓词类型。 预期的类型为'Edm.Binary'"。

唯一有效的请求似乎是/sap/opu/odata/sap/MY_GATEWAY_SERVICE/EntityTypeSet(binary'00155DEDEF921ED7919022D2200320C3'),它使用guid的十六进制表示形式 。

但是,由于我总是在所有请求响应中获得guid的base64表示,所以我不知道如何创建有效的请求。

谁能帮助我并解释如何将GUID用作 键。

在此先感谢和问候,
Michael Liermann

付费偷看设置
发送
2条回答
Violet凡
1楼 · 2020-09-15 17:23.采纳回答

嗨,迈克尔

请检查SEGW项目中GUID字段的OData-Type(EDM.Core类型)。
如果属性类型为Edm.Binary,则将其更改为Edm.Guid(并删除最大长度的值 )

此后,实体密钥应为
/sap/opu/odata/MY_SERVICE/MyEntitySet(guid'00505690-6ECF-1ED8-A1A0-F957691DDD21')/

最好的问候
Dominik

南山jay
2楼-- · 2020-09-15 17:35

嗨,多米尼克,

这正是我成功应用的解决方案。

谢谢,
迈克尔

一周热门 更多>