{"ref":"capability:http-clients","page":"/capabilities/http-clients","json":"/capabilities/http-clients.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"http-clients","name":"HTTP clients","domain":"protocols-and-apis","ecosystems":["abap"],"universal":false,"description":"Calling an HTTP API outside the system from application code, with the request, the credential and the response handled by a client each time the call is made. Serving HTTP is the other direction, and where the address and the credential are kept is [destinations](capability:destinations).","short":"Calling an external HTTP API from application code","core_coverage":{"state":"core-and-community","assessed_at":"2026-09-14","what_core_does":"In Standard ABAP the factory method CREATE of CL_HTTP_CLIENT returns a client object for an address. In ABAP for Cloud Development the released CL_WEB_HTTP_CLIENT_MANAGER creates the client from an HTTP destination object, built from a communication arrangement or a plain URL.","where_it_stops":"At the generic request. The two classes are separate APIs, so code written against CL_HTTP_CLIENT has to be rewritten for a cloud release, and a third-party service's sign-in and payloads are written by hand on top of either one.","relationship":"unassessed","note":"How the core classes and the community clients came to be present side by side has not been assessed. That CL_HTTP_CLIENT is not released for ABAP Cloud is stated in the abapify/fetch README rather than on an SAP page checked here.","community_adds":"Clients that run on classic and cloud releases alike, such as [abapify/fetch](artifact:abapify-fetch) and [open-abap cross http client](artifact:open-abap-cross-http-client). Also a web service client and connector that handle secrets and JWT tokens beside the call ([btocs core](artifact:b-tocs-abap-btocs-core)), and clients for one vendor's API each: Azure services, Firebase, Google Sheets and Salesforce.","sources":[{"url":"https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abenicf_client_abexa.htm","title":"ABAP Keyword Documentation 7.51 — ABAP as HTTP Client","checked":"2026-09-14","quote":"The factory method CREATE of the class CL_HTTP_CLIENT is used to create a client object for the address wikipedia.org."},{"url":"https://github.com/SAP-samples/abap-cheat-sheets/blob/main/22_Released_ABAP_Classes.md","title":"ABAP cheat sheets — Released ABAP Classes, Calling Services","checked":"2026-09-14","quote":"For creating a client object using an HTTP destination. The HTTP destination is provided based on an HTTP destination object."},{"url":"https://github.com/abapify/fetch","title":"abapify/fetch — README","checked":"2026-09-14","quote":"We used use `cl_http_client` during long time in our leagcy code. However currently this class is not released for usage in ABAP Cloud."}]},"history":[{"date":"2026-10-26","field":"core_coverage.community_adds","from":"One client interface that runs on classic and cloud releases alike, and clients for one vendor's API each: Azure services, Firebase, Google Sheets and Salesforce.","to":"Clients that run on classic and cloud releases alike (abapify/fetch, open-abap cross http client), a web service client and connector with secrets and JWT handling (btocs core), and clients for one vendor's API each.","reason":"Reassessed against the graph (check:capabilities): two providers added since 2026-09-14 that the text never named; the singular \"one client interface\" also read as a count."}],"drafted_with_ai":true},"sap_delivery":{"door":"abap","all":null,"by_flavor":{"standard-abap":null,"abap-cloud":null}},"edges":{"use_cases":[],"shared_tasks":[],"related_tasks":[],"options":[{"ref":"artifact:microsoft-abap-sdk-for-azure","name":"ABAP SDK for Azure","json":"/artifacts/microsoft-abap-sdk-for-azure.json","ecosystem":"abap","origin_ring":"partner"},{"ref":"artifact:gprs555-abap-soql-query","name":"abap-soql-query","json":"/artifacts/gprs555-abap-soql-query.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:ivanfemia-abap2gapps","name":"abap2gapps","json":"/artifacts/ivanfemia-abap2gapps.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:techedgegroup-sap-abap2gsheet","name":"abap2gsheet","json":"/artifacts/techedgegroup-sap-abap2gsheet.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:alborghetti-abapfire","name":"ABAPFire","json":"/artifacts/alborghetti-abapfire.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:abapify-fetch","name":"abapify/fetch","json":"/artifacts/abapify-fetch.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:abapify-fetch-cloud","name":"abapify/fetch-cloud","json":"/artifacts/abapify-fetch-cloud.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:abapify-fetch-legacy","name":"abapify/fetch-legacy","json":"/artifacts/abapify-fetch-legacy.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:b-tocs-abap-btocs-core","name":"B-Tocs ABAP SDK","json":"/artifacts/b-tocs-abap-btocs-core.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:open-abap-cross-http-client","name":"cross-http-client","json":"/artifacts/open-abap-cross-http-client.json","ecosystem":"abap","origin_ring":"community-org"}],"samples":[],"explained_by":[{"ref":"content:invoking-business-agent-foundation-agents-from-abap-a-step-by-step-guide","name":"Invoking Business Agent Foundation Agents from ABAP: A Step-by-Step Guide","json":"/content/invoking-business-agent-foundation-agents-from-abap-a-step-by-step-guide.json"},{"ref":"content:outbound-integration-from-sap-btp-abap-to-sap-s-4hana-cloud-via-service-consumpt","name":"Outbound Integration from SAP BTP, ABAP to SAP S/4HANA Cloud via Service Consumption Model","json":"/content/outbound-integration-from-sap-btp-abap-to-sap-s-4hana-cloud-via-service-consumpt.json"},{"ref":"content:calling-the-sales-order-a2x-odata-v4-api-from-btp-using-a-service-consumption-mo","name":"Calling the Sales Order (A2X) OData V4 API from BTP Using a Service Consumption Model","json":"/content/calling-the-sales-order-a2x-odata-v4-api-from-btp-using-a-service-consumption-mo.json"},{"ref":"content:calling-the-sales-order-a2x-odata-v2-api-from-btp-using-a-service-consumption-mo","name":"Calling the Sales Order (A2X) OData V2 API from BTP Using a Service Consumption Model","json":"/content/calling-the-sales-order-a2x-odata-v2-api-from-btp-using-a-service-consumption-mo.json"},{"ref":"content:usage-of-expand-entity-in-odata-service-consumption-model","name":"Usage of Expand Entity in OData Service Consumption Model","json":"/content/usage-of-expand-entity-in-odata-service-consumption-model.json"}],"normative_context":[]}}