ABAP Keyword Documentation → ABAP - Reference → Data Interfaces and Communication Interfaces → ICF - Internet Communication Framework → ICF Examples
ABAP as HTTP Client
This example demonstrates an ICF HTTP client.
Other versions:
7.31 | 7.40 | 7.54
Source Code
DATA query TYPE string VALUE 'SAP'.
cl_demo_input=>request( CHANGING field = query ).
cl_http_client=>create(
EXPORTING
host = 'wikipedia.org'
service = ''
IMPORTING
client = DATA(client)
EXCEPTIONS
OTHERS = 4 ).
IF sy-subrc <> 0.
RETURN.
ENDIF.
cl_http_utility=>set_request_uri(
request = client->request
uri = `/wiki/` && query ).
client->send(
EXCEPTIONS
OTHERS = 4 ).
IF sy-subrc <> 0.
client->get_last_error(
IMPORTING message = DATA(smsg) ).
cl_demo_output=>display( smsg ).
RETURN.
ENDIF.
client->receive(
EXCEPTIONS
OTHERS = 4 ).
IF sy-subrc <> 0.
client->get_last_error(
IMPORTING message = DATA(rmsg) ).
cl_demo_output=>display( rmsg ).
RETURN.
ENDIF.
DATA(html) = client->response->get_cdata( ).
cl_demo_output=>display_html( html ).
client->close( ).
Description
The factory method CREATE
of the class CL_HTTP_CLIENT
is used to create a client object for the address wikipedia.org. The reference
variable client
of the type IF_HTTP_CLIENT points
to this object. A specific request, which also contains the value of a user input, is added to the URI
of the REQUEST object of the client object. The request is sent and the result is passed to the RESPONSE
object of the client object. In the case in question, the HTML page produced by the requested is retrieved and displayed.
Note
The proxy setting for the HTTP client must be configured correctly in transaction SICF before this example can work.