如何从SAP Gateway中的数据提供程序类获取会话ID?

时间:2017-02-09 10:56:53

标签: sap backend abap gateway

我试图找出如何获取有关外部会话ID的信息?我在abap堆栈的顶部看到它: enter image description here

但是,没有找到任何方法来访问数据提供程序类中的此变量。你有什么tipp吗?

2 个答案:

答案 0 :(得分:0)

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

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

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

Result of above code

答案 1 :(得分:0)

我遇到了同样的问题,并提出了与Serban提供的相同的解决方案。但是,我希望从同一个浏览器窗口发送多个请求会有相同的会话ID - 我对会话ID BTW的理解是什么。似乎并非如此:从同一浏览器窗口到相同服务的后续odata调用(实际上是完全相同的服务调用)在调试器中始终显示不同的sessionid。所以我认为abap方面的sessionid并不是真的有用。