根据实际使用场景,SAP OData 客户端代理配置有多种消费类型和 OData 版本。
OData Client Proxy是ABAP中OData服务消费中客户端(服务的消费者)和服务实现(数据提供)之间的接口。 这使 ABAP 开发人员能够创建 OData 客户端编码以在其 ABAP 编码中运行 OData 请求。
OData 客户端代理可用于不同的配置,具体取决于当前用例。
OData 客户端代理可以是本地的或远程的。
本地客户端代理
在没有 HTTP 的情况下,使用此客户端代理在当前服务器上使用 OData 服务,优点是无 HTTP 开销,OData 服务在同一应用程序会话中处理。 这允许集成测试。
远程客户端代理
使用此客户端代理来使用远程服务器上提供的 OData 服务。
异步(远程)客户端代理(仅限 OData V4),使用此客户端代理在使用异步处理 HTTP 调用的远程服务器上使用 OData V4 服务。
2428114 - SAP Gateway Foundation SAP_GWFND OData Client Proxy - Known Constraints
可以使用类 /IWBEP/CL_CP_CLIENT_PROXY_FACT 创建客户端代理实例。 它提供静态方法 CREATE_V2_LOCAL_PROXY 来创建本地版本 2 客户端代理的实例。 作为导入参数,需要您要使用的版本 2 OData 服务的服务 key(服务 ID 和服务版本)。此外,您可以选择指定是否应写入工作负载跟踪,稍后可以在事务 STAD 中检查。
在 AG3 上没有这个 proxy:
例子代码:
DATA: lo_client_proxy TYPE REF TO /iwbep/if_cp_client_proxy. lo_client_proxy = /iwbep/cl_cp_client_proxy_fact=>create_v2_local_proxy( VALUE #( service_id = ‘ODATA_V2_TEST_SERVICE' service_version = ‘0001’ ) ).
可以使用类 /IWBEP/CL_CP_CLIENT_PROXY_FACT 创建客户端代理实例。 它提供静态方法 CREATE_V2_REMOTE_PROXY 来创建远程版本 2 客户端代理的实例。 作为导入参数,需要相关服务根、代理模型密钥和已配置的 HTTP 客户端实例。