且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

SAP OData service的执行是如何从Gateway系统转交到backend系统

更新时间:2022-08-22 13:14:41

SAP OData service的执行是如何从Gateway系统转交到backend系统SAP OData service的执行是如何从Gateway系统转交到backend系统

通过http://diablo.herr.corp:50018/sap/opu/sdata/sap/customer_briefing?sap-client=001 我们可以拿到customer briefing的service document。

Service document里面只定义了哪些entity暴露了哪些操作,真正metadata的full definition xml用这个URL down:

http://ldcigm2.jerry.corp:50018/sap/opu/sdata/sap/customer_briefing/KaTeX parse error: Expected 'EOF', got '&' at position 24: …?sap-client=001&̲format=xml


service document也能通过SICF进去之后,从sap node出发,点test拿到。

SAP OData service的执行是如何从Gateway系统转交到backend系统SAP OData service的执行是如何从Gateway系统转交到backend系统SAP OData service的执行是如何从Gateway系统转交到backend系统

Search 所有name property中包含“UT_Customer” 的Customer

http://ldcigm2.jerry.corp:50018/sap/opu/sdata/sap/CUSTOMER_BRIEFING/CustomerCollection?sap-client=001&$format=xml&search=UT_Customer


返回Partner ID = 133的customer的detail 信息

http://ldcigm2.jerry.corp:50018/sap/opu/sdata/sap/CUSTOMER_BRIEFING/CustomerCollection(133)?sap-client=001&$format=xml


所有这些操作都在service provider class CL_LWM_CB_ADAPTER_RDP里面实现,


如果我们直接在IE里面通过http://ldcigm2.jerry.corp:50018/sap/opu/sdata/sap/CUSTOMER_BRIEFING/CustomerCollection(133)?sap-client=001&$format=xml

的URL consume OData service:


Gateway 系统上首先会根据OData service expose出来的external name找到internal使用的service ID:

SAP OData service的执行是如何从Gateway系统转交到backend系统SAP OData service的执行是如何从Gateway系统转交到backend系统SAP OData service的执行是如何从Gateway系统转交到backend系统SAP OData service的执行是如何从Gateway系统转交到backend系统