Test SAP HTTP connection ready for REST Web Service call


This is the second part of a series that will teach you how to consume/use/call a Web Service from within your SAP system and use the data received to perform and action within your ABAP code.  

If you want to call a REST Web Service from your SAP system you should first test SAP HTTP Connection to make sure your SAP system has access to the outside world and the particular Web service you want to call. Again using the REST web service http://gturnquist-quoters.cfapps.io/api/random, which I found on https://spring.io/guides/gs/consuming-rest/ so have a look on here if it has stopped working for some reason.

There are actually some very basic and easy to use ABAP programs that will help you do this. They have been around for a long time but you may not have come across them before if you haven't had to deal with HTTP connections. I suspect there are many people just finding out about these while learning about web service calls.

SAPHTML_DEMO1 ABAP report

This is basically a simple ABAP based web browser, think chrome, IE but within the SAP GUI. This simply allows you to view a web page so by Inserting your Web Service URL (or any URL) you can confirm that your SAP system has access to the internet. You may already know it has access but this is a good way to prove it if you are trying to pinpoint a communication issue. I have been asked before does your SAP system have access to the internet to which my reply has been yes of course it has...but how do I demonstrate that quickly???

To use this ABAP report simply execute transaction code SE38, enter program name  SAPHTML_DEMO1 and hit execute.

This example Rest service will try and download the response into a file.


Test SAP HTTP Connection with SAPHTML_DEMO1

But you could also test access to the internet as a whole by entering any website such as google.com


SAPHTML_DEMO1

SAPHTML_DEMO1

RSWF_TEST_HTTP

The RSWF_TEST_HTTP ABAP report allows you to test the HTTP connection to your Web Service to ensure it is communicating ok. To do this again go to t-code SE38 and enter the report name as RSWF_TEST_HTTP and hit execute.

execute RSWF_TEST_HTTP_1

Now enter the URL of your Web Service i.e. http://gturnquist-quoters.cfapps.io/api/random.

test http connection using RSWF_TEST_HTTP RSWF_TEST_HTTP

You will then see the results of the test

RSWF_TEST_HTTP test result
Progress Bar

The next step in the series is to call the web service from within your SAP system. There are two options to do this, either within a BSP using HTML and JS code or within your ABAP code using the HTTP Object Methods. In my opinion the HTML/JS way of calling a Web Service from SAP should be the best solution but it does not always work if the Web Service does not handle cross domain origins correctly    

Test Web Service using POSTMAN

How to quickly test your REST Web Service using GetPostMan


ABAP development tools and tcodes
SE80 - Object Navigator / SAP Development workbench Most if not all development functionality is available from this transaction SE38[...]
Alphabetical list of ABAP runtime errors
ABAP_ASSERT - abap assert ABAP_PADFILE_NOT_PRESENT - abap padfile not present AB_EXT_INVOKE - ab ext invoke ADDF_INT_OVERFLOW - addf int overflow[...]
Refresh SAP buffers
ST10 Table call statistics (details of all tables including buffer state) AL12 Buffer monitoring tool /$SYNC Reset all buffers of[...]
SAP Commit within ABAP Select Endselect using cursor fetch
Have you ever wanted to perform an ABAP Commit within ABAP Select Endselect statement. iF so you will have found[...]
SALV hide field/column
The SALV hide column/field or cell functionality is much the same as changing the header text you simply use the[...]
Set SALV color values
The below ABAP code uses the CL_SALV_TABLE class to create an ABAP ALV report and use the SALV color options[...]