点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
在我的公司中,我们希望在仅支持OpenAPI的非SAP工具中公开SAP ERP。 我已经在SAP的SEGW编辑器中构建了一个小型API。 API使用两个实体" businesspartner"和" address"。 该地址与businesspartner相关。
我可以直接使用浏览器很好地调用API。 但是,SAP仅从网关访问ODATA。 因此,此操作有效:
/sap/opu/odata/SAP/ZBP_POC_SRV/BusinessPartnerSet('0100011112')。
但这是ODATA操作。 通过我们的OpenAPI工具,我们可以进行以下操作:
/sap/opu/odata/SAP/ZBP_POC_SRV/BusinessPartnerSet?PartnerID = 0100011112。 ODATA不支持此功能,并且自定义参数在网关中丢失。 我看到可以更改SAP的网关编码,但是更改标准SAP对我来说并不是一个好选择。 将OpenAPI格式转换为ODATA的最佳方法是什么?
Hello Boer,
尝试使用/sap/opu/odata/SAP/ZBP_POC_SRV/BusinessPartnerSet?filter = PartnerID EQ'0100011112'。
非常感谢,
Sudheer
嗨,
您能找出解决方案吗? 我们也有相同的要求。
嗨,A。Boer,
我不确定围绕OpenAPI和OData转换是否有任何特定的工具解决方案。 我可以建议使用SAP API Management之类的工具为所有API提供程序提供服务。 在这里,您可以简单地将查询参数(例如PartnerID = XYZ)作为输入,并使用分配消息策略以所需的格式将其馈送到目标端点。 然后,您可以向使用者提供标准的URL格式,并且仍然可以隐式控制任何后端需求的特殊性。 在具有丰富API的环境中,加上API Management是个好主意!
以利亚,
是的,但是我们最终使用了SAP API管理。 使用API管理中的策略,您可以执行小的脚本和/或转换以适应URL和有效负载。
ABAP-Swagger可以帮助您吗?
https://github.com/larshp/ABAP-Swagger
编辑:只是注意到这个问题已经很久了,只是
内部,我们讨论了这样的解决方案。 但是,SAP不是我们领域中唯一的API提供程序。 这意味着SAP API和非SAP API之间会发生调用差异。 呼叫者必须知道他是否必须使用filter命令。 这不会创建通用方法。 当前,我们正在寻求在链中实现一个额外的非SAP组件,以将OpenAPI转换为ODATA。 SAP必须针对这种情况提供解决方案吗?
一周热门 更多>