如何从 SAP Gateway 中的数据提供者 class 获取会话 ID?

How to get session id from data provider class in SAP Gateway?

我想知道如何获取有关外部会话 ID 的信息?我在 abap 堆栈的最顶部看到它:

但是,没有找到任何方法在数据提供程序中访问此变量Class。你有小费吗?

session_id实际上是IF_HTTP_SERVER接口中指定的静态属性。由于 ABAP 会话的工作方式,不可能在同一个 ABAP 会话中同时处理两个 HTTP 请求,所以我想将 session_id 设置为静态是有意义的。

无论如何,您可以在 DPC_EXT class 中执行类似的操作来获取会话:

DATA(lv_session) = cl_http_server=>if_http_server~session_id.

我遇到了同样的问题,并得到了与 Serban 提供的相同的解决方案。但是,我希望从同一个浏览器 window 发送多个请求会有相同的会话 ID——顺便说一句,我对会话 ID 的理解是什么。情况似乎并非如此:从同一浏览器 window 到同一服务的后续 odata 调用(实际上是完全相同的服务调用)在调试器中始终显示不同的 sessionid。所以我觉得abap这边的sessionid其实用处不大。