<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Question Re: How to make a secure HTTP request from ABAP program in Technology Q&amp;A</title>
    <link>https://community.sap.com/t5/technology-q-a/how-to-make-a-secure-http-request-from-abap-program/qaa-p/9709282#M3474591</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Joseph,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My understanding is you generate your URL with HTTPS and it will be already secured. You are right, if you create an encryption algorithm for your data,&amp;nbsp; then the service will have to write the decryption logic hence adding complexity.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IMO send HTTPS is enough.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Custodio&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 21 Sep 2013 06:36:18 GMT</pubDate>
    <dc:creator>custodio_deoliveira</dc:creator>
    <dc:date>2013-09-21T06:36:18Z</dc:date>
    <item>
      <title>How to make a secure HTTP request from ABAP program</title>
      <link>https://community.sap.com/t5/technology-q-a/how-to-make-a-secure-http-request-from-abap-program/qaq-p/9709278</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a requirement to call an external webservice running on REST architecture from abap program. Since the web service is not running on SOAP protocol, I am unable to use the SOAMANAGER to configure the consumer proxy to make the call to external web service.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am able to directly call the web service running on REST architecture by using the CL_HTTP* utility class by passing the url with parameters for consuming the web service. But I need to make sure the HTTP request is encrypted before it leaves the SAP system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please provide some inputs on encrypting the HTTP request from ABAP program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Manjiyil&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Sep 2013 15:06:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/how-to-make-a-secure-http-request-from-abap-program/qaq-p/9709278</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-09-19T15:06:26Z</dc:date>
    </item>
    <item>
      <title>Re: How to make a secure HTTP request from ABAP program</title>
      <link>https://community.sap.com/t5/technology-q-a/how-to-make-a-secure-http-request-from-abap-program/qaa-p/9709279#M3474588</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Joseph,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Not sure I really understood the question, but if I did, can't you make an HTTPS call instead of HTTP?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Custodio&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Sep 2013 06:38:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/how-to-make-a-secure-http-request-from-abap-program/qaa-p/9709279#M3474588</guid>
      <dc:creator>custodio_deoliveira</dc:creator>
      <dc:date>2013-09-20T06:38:10Z</dc:date>
    </item>
    <item>
      <title>Re: How to make a secure HTTP request from ABAP program</title>
      <link>https://community.sap.com/t5/technology-q-a/how-to-make-a-secure-http-request-from-abap-program/qaa-p/9709280#M3474589</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;In the CL_HTTP* Utility, use mode parameter value 2 which is for HTTPS.&lt;/P&gt;&lt;P&gt;HTTPS is an encrypted transmission protocol for web services.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;Ashish Rawat&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Sep 2013 06:45:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/how-to-make-a-secure-http-request-from-abap-program/qaa-p/9709280#M3474589</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-09-20T06:45:43Z</dc:date>
    </item>
    <item>
      <title>Re: How to make a secure HTTP request from ABAP program</title>
      <link>https://community.sap.com/t5/technology-q-a/how-to-make-a-secure-http-request-from-abap-program/qaa-p/9709281#M3474590</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Custodio,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We are concatenating the appid and token along with URL for calling the webservice. I was wondering is there any way to garble the app_id and token when making the https request, so it is secure, or if we transmit via HTTPS instead of HTTP is it encrypted already.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I write some encryption logic, should the webservice server also implement the decryption logic to accept the request and respond.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have attached the code for your reference: &lt;/P&gt;&lt;P&gt;*-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*&lt;/P&gt;&lt;P&gt;* Declarations&lt;BR /&gt;DATA lo_client&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE REF TO if_http_client.&lt;BR /&gt;DATA lo_conv&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE REF TO cl_abap_conv_in_ce.&lt;/P&gt;&lt;P&gt;DATA lv_result_url&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE string.&lt;BR /&gt;DATA lv_bin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE xstring.&lt;BR /&gt;DATA lv_response&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE string.&lt;/P&gt;&lt;P&gt;DATA lwa_layout&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE slis_layout_alv.&lt;BR /&gt;DATA lt_data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE srt_xml_data_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* Create HTTP CAll URL&lt;BR /&gt;CALL METHOD cl_http_client=&amp;gt;create_by_url&lt;BR /&gt;&amp;nbsp; EXPORTING&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; url&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = '&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://example/calculate.xml"&gt;http://example/calculate.xml&lt;/A&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; proxy_host&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 'web.proxy.com'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; proxy_service&amp;nbsp;&amp;nbsp;&amp;nbsp; = '4999'&lt;BR /&gt;&amp;nbsp; IMPORTING&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; client&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = lo_client&lt;BR /&gt;&amp;nbsp; EXCEPTIONS&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; argument_not_found = 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; plugin_not_active&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; internal_error&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 3&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; OTHERS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 4.&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;BR /&gt;&amp;nbsp; MESSAGE e000(z_xyz) WITH 'Error during URL creation'.&lt;BR /&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* Disabling the proxy authentication&lt;BR /&gt;lo_client-&amp;gt;propertytype_logon_popup = lo_client-&amp;gt;co_disabled.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* Pass proxy authentication details&lt;BR /&gt;lo_client-&amp;gt;authenticate(&lt;BR /&gt;&amp;nbsp; EXPORTING&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; proxy_authentication = abap_true&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; username&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 'joseph'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; password&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 'abcd' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;lo_client-&amp;gt;request-&amp;gt;set_method( if_http_request=&amp;gt;co_request_method_get ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* Construct the URL&lt;BR /&gt;CONCATENATE&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://example/calculate.xml"&gt;http://example/calculate.xml&lt;/A&gt;&lt;SPAN&gt;?'&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'app_id=abc'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '&amp;amp;token=xyz'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTO lv_result_url RESPECTING BLANKS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* Set URL to request&lt;BR /&gt;cl_http_utility=&amp;gt;set_request_uri( request = lo_client-&amp;gt;request uri = lv_result_url ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* Send the HTTP request&lt;BR /&gt;CALL METHOD lo_client-&amp;gt;send&lt;BR /&gt;&amp;nbsp; EXCEPTIONS&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; http_communication_failure = 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; http_invalid_state&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; http_processing_failed&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 3&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; http_invalid_timeout&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 4&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; OTHERS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 5.&lt;BR /&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;BR /&gt;&amp;nbsp; MESSAGE e000(z_xyz) WITH 'Error during HTTP send'.&lt;BR /&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* HTTP call receive&lt;BR /&gt;CALL METHOD lo_client-&amp;gt;receive&lt;BR /&gt;&amp;nbsp; EXCEPTIONS&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; http_communication_failure = 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; http_invalid_state&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; http_processing_failed&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 3&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; OTHERS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 4.&lt;BR /&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;BR /&gt;&amp;nbsp; MESSAGE e000(z_xyz) WITH 'Error during HTTP receive'.&lt;BR /&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* Get Response data&lt;BR /&gt;lv_bin = lo_client-&amp;gt;response-&amp;gt;get_data( ).&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'SRTUTIL_CONVERT_XML_TO_TABLE'&lt;BR /&gt;&amp;nbsp; EXPORTING&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xdoc = lv_bin&lt;BR /&gt;&amp;nbsp; IMPORTING&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; data = lt_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lwa_layout-colwidth_optimize = abap_true.&lt;BR /&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;BR /&gt;&amp;nbsp; EXPORTING&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; i_structure_name = 'SRT_XML_DATA'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; is_layout&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = lwa_layout&lt;BR /&gt;&amp;nbsp; TABLES&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; t_outtab&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = lt_data&lt;BR /&gt;&amp;nbsp; EXCEPTIONS&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; program_error&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; OTHERS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2.&lt;BR /&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;BR /&gt;* Implement suitable error handling here&lt;BR /&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD lo_client-&amp;gt;close&lt;BR /&gt;&amp;nbsp; EXCEPTIONS&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; http_invalid_state = 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; OTHERS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2.&lt;BR /&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;BR /&gt;&amp;nbsp; MESSAGE e000(z_xyz) WITH 'Error closing HTTP call'.&lt;BR /&gt;ENDIF.&lt;/P&gt;&lt;P&gt;*-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------* &lt;/P&gt;&lt;P&gt;Please suggest what changes I need to make the code secure.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Joseph M&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Sep 2013 16:34:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/how-to-make-a-secure-http-request-from-abap-program/qaa-p/9709281#M3474590</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-09-20T16:34:15Z</dc:date>
    </item>
    <item>
      <title>Re: How to make a secure HTTP request from ABAP program</title>
      <link>https://community.sap.com/t5/technology-q-a/how-to-make-a-secure-http-request-from-abap-program/qaa-p/9709282#M3474591</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Joseph,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My understanding is you generate your URL with HTTPS and it will be already secured. You are right, if you create an encryption algorithm for your data,&amp;nbsp; then the service will have to write the decryption logic hence adding complexity.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IMO send HTTPS is enough.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Custodio&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 21 Sep 2013 06:36:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/how-to-make-a-secure-http-request-from-abap-program/qaa-p/9709282#M3474591</guid>
      <dc:creator>custodio_deoliveira</dc:creator>
      <dc:date>2013-09-21T06:36:18Z</dc:date>
    </item>
    <item>
      <title>Re: How to make a secure HTTP request from ABAP program</title>
      <link>https://community.sap.com/t5/technology-q-a/how-to-make-a-secure-http-request-from-abap-program/qaa-p/9709283#M3474592</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am calling the HTTPS url from Internet explorer and I'm able to see the xml output.I'm am constructing the url based on the below code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* Construct the URL&lt;/P&gt;&lt;P&gt;CONCATENATE&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '&lt;A class="jive-link-external-small" href="http://example/calculate.xml"&gt;https://example/calculate.xml&lt;/A&gt;?'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'app_id=abc'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '&amp;amp;token=xyz'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTO lv_result_url RESPECTING BLANKS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I downloaded the SSL certificates from the web service site and installed in STRUST transaction. I'm passing the certificate id when calling the method:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* Create HTTP CAll URL&lt;/P&gt;&lt;P&gt;CALL METHOD cl_http_client=&amp;gt;create_by_url&lt;/P&gt;&lt;P&gt;&amp;nbsp; EXPORTING&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; url&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = '&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://example/calculate.xml"&gt;https://example/calculate.xml&lt;/A&gt;&lt;SPAN&gt;''&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; proxy_host&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 'web.proxy.com'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; proxy_service&amp;nbsp;&amp;nbsp;&amp;nbsp; = '4999'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ssl_id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 'WSSE'&lt;/P&gt;&lt;P&gt;&amp;nbsp; IMPORTING&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; client&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = lo_client&lt;/P&gt;&lt;P&gt;&amp;nbsp; EXCEPTIONS&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; argument_not_found&amp;nbsp; = 1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; plugin_not_active&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; internal_error&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 3&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; OTHERS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But when the method receive is called using the below code, I am getting a HTTP_COMMUNICATION_FAILURE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* HTTP call receive&lt;/P&gt;&lt;P&gt;CALL METHOD lo_client-&amp;gt;receive&lt;/P&gt;&lt;P&gt;&amp;nbsp; EXCEPTIONS&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; http_communication_failure = 1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; http_invalid_state&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; http_processing_failed&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 3&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; OTHERS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I debugged the receive method and found that error 'ICM_HTTP_SSL_ERROR' is being raised inside the method. I followed the steps mentioned in existing threads on resolving the errors like soft restarting the ICM server. But it is not resolving my issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Since I'm passing the app_id and token when constructing the url, I'm not sure what authentication should be used when calling HTTPS. We are not entering user id and password. app_id and token uniquely identifies and returns the result when called from internet explorer. I have installed the certificate as well in STRUST. Please provide guidance on how I can proceed on this issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Joseph M&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 Sep 2013 05:43:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/how-to-make-a-secure-http-request-from-abap-program/qaa-p/9709283#M3474592</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-09-25T05:43:18Z</dc:date>
    </item>
    <item>
      <title>Re: How to make a secure HTTP request from ABAP program</title>
      <link>https://community.sap.com/t5/technology-q-a/how-to-make-a-secure-http-request-from-abap-program/qaa-p/9709284#M3474593</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I got the HTTPS to work by creating HTTP destination in SM59&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* Declarations&lt;BR /&gt;DATA lo_client&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE REF TO if_http_client.&lt;BR /&gt;DATA lo_conv&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE REF TO cl_abap_conv_in_ce.&lt;/P&gt;&lt;P&gt;DATA lv_result_url&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE string.&lt;BR /&gt;DATA lv_bin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE xstring.&lt;BR /&gt;DATA lv_response&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE string.&lt;BR /&gt;DATA lv_httpcode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE i.&lt;BR /&gt;DATA lv_reason&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE string.&lt;/P&gt;&lt;P&gt;DATA lwa_layout&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE slis_layout_alv.&lt;BR /&gt;DATA lt_data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE srt_xml_data_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD cl_http_client=&amp;gt;create_by_destination&lt;BR /&gt;&amp;nbsp; EXPORTING&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; destination&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 'HTTPS_DEST_1'&lt;BR /&gt;&amp;nbsp; IMPORTING&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; client&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = lo_client&lt;BR /&gt;&amp;nbsp; EXCEPTIONS&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; argument_not_found&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; destination_not_found&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; destination_no_authority&amp;nbsp; = 3&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; plugin_not_active&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 4&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; internal_error&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 5&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; OTHERS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 6.&lt;BR /&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;BR /&gt;&amp;nbsp; MESSAGE e000(z_xyz) WITH 'Error during URL creation'.&lt;BR /&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lo_client-&amp;gt;request-&amp;gt;set_method( if_http_request=&amp;gt;co_request_method_get )."co_request_method_post ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;* Construct the URL without &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://"&gt;https://&lt;/A&gt;&lt;SPAN&gt; ......(remaining details are maintained in SM59)&lt;/SPAN&gt;&lt;BR /&gt;CONCATENATE '?app_id=abc'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '&amp;amp;token=xyz'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '&amp;amp;param1=p1'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTO lv_result_url RESPECTING BLANKS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* Set URL to request&lt;BR /&gt;cl_http_utility=&amp;gt;set_request_uri( request = lo_client-&amp;gt;request uri = lv_result_url ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* Send the HTTP request&lt;BR /&gt;CALL METHOD lo_client-&amp;gt;send&lt;BR /&gt;&amp;nbsp; EXCEPTIONS&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; http_communication_failure = 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; http_invalid_state&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; http_processing_failed&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 3&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; http_invalid_timeout&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 4&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; OTHERS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 5.&lt;BR /&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;BR /&gt;&amp;nbsp; MESSAGE e000(z_xyz) WITH 'Error during HTTP send'.&lt;BR /&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* HTTP call receive&lt;BR /&gt;CALL METHOD lo_client-&amp;gt;receive&lt;BR /&gt;&amp;nbsp; EXCEPTIONS&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; http_communication_failure = 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; http_invalid_state&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; http_processing_failed&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 3&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; OTHERS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 4.&lt;BR /&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;BR /&gt;&amp;nbsp; MESSAGE e000(z_xyz) WITH 'Error during HTTP receive'.&lt;BR /&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp; get status of the response&lt;BR /&gt;CALL METHOD lo_client-&amp;gt;response-&amp;gt;get_status&lt;BR /&gt;&amp;nbsp; IMPORTING&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; code&amp;nbsp;&amp;nbsp;&amp;nbsp; = lv_httpcode&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reason = lv_reason.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* Get Response data&lt;BR /&gt;lv_bin = lo_client-&amp;gt;response-&amp;gt;get_data( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'SRTUTIL_CONVERT_XML_TO_TABLE'&lt;BR /&gt;&amp;nbsp; EXPORTING&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xdoc = lv_bin&lt;BR /&gt;&amp;nbsp; IMPORTING&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; data = lt_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lwa_layout-colwidth_optimize = abap_true.&lt;BR /&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;BR /&gt;&amp;nbsp; EXPORTING&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; i_structure_name = 'SRT_XML_DATA'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; is_layout&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = lwa_layout&lt;BR /&gt;&amp;nbsp; TABLES&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; t_outtab&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = lt_data&lt;BR /&gt;&amp;nbsp; EXCEPTIONS&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; program_error&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; OTHERS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2.&lt;BR /&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;BR /&gt;* Implement suitable error handling here&lt;BR /&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD lo_client-&amp;gt;close&lt;BR /&gt;&amp;nbsp; EXCEPTIONS&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; http_invalid_state = 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; OTHERS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2.&lt;BR /&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;BR /&gt;&amp;nbsp; MESSAGE e000(z_xyz) WITH 'Error closing HTTP call'.&lt;BR /&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SM59 Settings:&lt;/P&gt;&lt;P&gt;url: &lt;A href="https://example.com/search.xml?app_id=abc&amp;amp;token=xyz&amp;amp;param1=p1"&gt;https://example.com/search.xml?app_id=abc&amp;amp;token=xyz&amp;amp;param1=p1&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1.Connection Type: G&lt;/P&gt;&lt;P&gt;2.Target host: example.com&lt;/P&gt;&lt;P&gt;3.Path prefix: /search.xml&lt;/P&gt;&lt;P&gt;4.Provide company proxy details&lt;/P&gt;&lt;P&gt;5.SSL certificate: DFAULT SSL Client(standard)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;STRUST Settings:&lt;/P&gt;&lt;P&gt;Download and install SSL certificate under &lt;/P&gt;&lt;P&gt;1. System PSE&lt;/P&gt;&lt;P&gt;2. SSL client SSL Client (standard)&lt;/P&gt;&lt;P&gt;3. Add to ACL list&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SMICM Settings:&lt;/P&gt;&lt;P&gt;1. Make sure HTTPS port is activated&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I was able to call REST web service using these settings successfully. for some reason HTTP POST method was not working, I guess webservice needs to be configured to handle it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Joseph M&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Sep 2013 22:09:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/how-to-make-a-secure-http-request-from-abap-program/qaa-p/9709284#M3474593</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-09-26T22:09:21Z</dc:date>
    </item>
  </channel>
</rss>

