08-28-2017 9:19 AM
We consume REST web services from SAP ABAP (cl_http_client) but are seeing performance issues when very many requests need to be performed.
We imagine part of the overhead is the need to build a new connection to the remote host for each request. Is there any way to reuse connections using the "Keep Alive" features of HTTP 1.1 from ABAP?
Methods used:
09-04-2017 7:12 AM
OK, we solved the issue by simply using the same cl_http_client instance for multiple requests.
So basically:
1. Create cl_http_client object lo_client
2. Loop through multiple requests with lo_client->send( ).
3. Close connection with lo_client->close( ).
It's not yet clear if the headers need to be reset between each request.
08-28-2017 11:11 PM
08-31-2017 9:31 AM
Thanks for the tip. Unfortunately it seems that the SICM settings for clients only apply to timeouts. The keep-alive settings (at least according to 824554) only apply to servers (i.e. SAP SICF services).
08-31-2017 8:55 PM
09-04-2017 7:12 AM
OK, we solved the issue by simply using the same cl_http_client instance for multiple requests.
So basically:
1. Create cl_http_client object lo_client
2. Loop through multiple requests with lo_client->send( ).
3. Close connection with lo_client->close( ).
It's not yet clear if the headers need to be reset between each request.
09-04-2017 9:10 AM
10-16-2017 11:55 AM
The parameter "icm/keep_alive_timeout" applies to ICM as a server. My question is related to outgoing requests where ICM is the client.
The parameters relevant seem to be: