<?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>topic Re: ABAP cl_http_client REST - PATCH method in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-cl-http-client-rest-patch-method/m-p/655837#M28306</link>
    <description>&lt;P&gt;And the question/issue is...?&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 19 Apr 2018 07:05:55 GMT</pubDate>
    <dc:creator>SimoneMilesi</dc:creator>
    <dc:date>2018-04-19T07:05:55Z</dc:date>
    <item>
      <title>ABAP cl_http_client REST - PATCH method</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-cl-http-client-rest-patch-method/m-p/655836#M28305</link>
      <description>&lt;P&gt;Hello community,&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;hope someone could help me.&lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt;I need to communicate with an external API. I use the class cl_http_client for method POST, DELETE, GET. Now I need to change customer data with method PATCH. PUT will be not supported.&lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &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_url&lt;BR /&gt; EXPORTING&lt;BR /&gt; url = lv_url&lt;BR /&gt; IMPORTING&lt;BR /&gt; client = lo_http&lt;BR /&gt; EXCEPTIONS&lt;BR /&gt; argument_not_found = 1&lt;BR /&gt; plugin_not_active = 2&lt;BR /&gt; internal_error = 3&lt;BR /&gt; OTHERS = 4.&lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; CALL METHOD lo_http-&amp;gt;request-&amp;gt;set_version(&lt;BR /&gt; if_http_request=&amp;gt;co_protocol_version_1_0 ). &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; CALL METHOD lo_http-&amp;gt;request-&amp;gt;if_http_entity~set_content_type&lt;BR /&gt; EXPORTING&lt;BR /&gt; content_type = 'application/json; charset=utf-8'. &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt;CALL METHOD lo_http-&amp;gt;request-&amp;gt;set_header_field&lt;BR /&gt; EXPORTING&lt;BR /&gt; name = 'authorization'&lt;BR /&gt; value = '4711'. &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; lv_length = strlen( lv_body ).&lt;BR /&gt; CALL METHOD lo_http-&amp;gt;request-&amp;gt;set_cdata&lt;BR /&gt; EXPORTING&lt;BR /&gt; data = lv_body&lt;BR /&gt; offset = 0&lt;BR /&gt; length = lv_length. &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; CALL METHOD lo_http-&amp;gt;request-&amp;gt;set_method( 'PATCH' ). &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; lo_http-&amp;gt;send(&lt;BR /&gt; EXCEPTIONS&lt;BR /&gt; http_communication_failure = 1&lt;BR /&gt; http_invalid_state = 2 ). &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; lo_http-&amp;gt;receive(&lt;BR /&gt; EXCEPTIONS&lt;BR /&gt; http_communication_failure = 1&lt;BR /&gt; http_invalid_state = 2&lt;BR /&gt; http_processing_failed = 3 ). &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; lv_response = lo_http-&amp;gt;response-&amp;gt;get_cdata( ).&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;The main question is, did someone use the method PATCH for the class cl_http_client?&lt;/P&gt;
  &lt;P&gt; Or is there another solution, way?&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 19 Apr 2018 06:28:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap-cl-http-client-rest-patch-method/m-p/655836#M28305</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2018-04-19T06:28:20Z</dc:date>
    </item>
    <item>
      <title>Re: ABAP cl_http_client REST - PATCH method</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-cl-http-client-rest-patch-method/m-p/655837#M28306</link>
      <description>&lt;P&gt;And the question/issue is...?&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 19 Apr 2018 07:05:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap-cl-http-client-rest-patch-method/m-p/655837#M28306</guid>
      <dc:creator>SimoneMilesi</dc:creator>
      <dc:date>2018-04-19T07:05:55Z</dc:date>
    </item>
    <item>
      <title>Re: ABAP cl_http_client REST - PATCH method</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-cl-http-client-rest-patch-method/m-p/655838#M28307</link>
      <description>&lt;P&gt;Oh sorry, it did not work! &lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;For example the method POST&lt;/P&gt;
  &lt;P&gt;CALL METHOD lo_http-&amp;gt;request-&amp;gt;set_method(CO_REQUEST_METHOD_POST). &lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;STRONG&gt;&lt;/STRONG&gt;
  &lt;U&gt;&lt;/U&gt;
  &lt;SUB&gt;&lt;/SUB&gt;
  &lt;SUP&gt;&lt;/SUP&gt;
  &lt;BR /&gt;
  &lt;P&gt;The main question is, did someone use the method PATCH for the class cl_http_client?&lt;/P&gt;</description>
      <pubDate>Thu, 19 Apr 2018 08:08:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap-cl-http-client-rest-patch-method/m-p/655838#M28307</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2018-04-19T08:08:00Z</dc:date>
    </item>
    <item>
      <title>Re: ABAP cl_http_client REST - PATCH method</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-cl-http-client-rest-patch-method/m-p/655839#M28308</link>
      <description>&lt;P&gt;SOLUTION!!!&lt;/P&gt;
  &lt;P&gt;cl_http_client=&amp;gt;create_by_destination(&lt;BR /&gt; EXPORTING&lt;BR /&gt; destination = iv_dest " Logical destination (specified in function call)&lt;BR /&gt; IMPORTING&lt;BR /&gt; client = lo_http_client " HTTP Client Abstraction&lt;BR /&gt; EXCEPTIONS&lt;BR /&gt; argument_not_found = 1&lt;BR /&gt; destination_not_found = 2&lt;BR /&gt; destination_no_authority = 3&lt;BR /&gt; plugin_not_active = 4&lt;BR /&gt; internal_error = 5&lt;BR /&gt; OTHERS = 6&lt;BR /&gt; ). &lt;/P&gt;
  &lt;P&gt; CREATE OBJECT lo_rest_client&lt;BR /&gt; EXPORTING&lt;BR /&gt; io_http_client = lo_http_client. &lt;/P&gt;
  &lt;P&gt; lo_http_client-&amp;gt;request-&amp;gt;set_version( if_http_request=&amp;gt;co_protocol_version_1_0 ). &lt;/P&gt;
  &lt;P&gt; CONDENSE lv_url NO-GAPS. &lt;/P&gt;
  &lt;P&gt;&lt;BR /&gt; cl_http_utility=&amp;gt;set_request_uri(&lt;BR /&gt; EXPORTING&lt;BR /&gt; request = lo_http_client-&amp;gt;request " HTTP Framework (iHTTP) HTTP Request&lt;BR /&gt; uri = lv_url " URI String (in the Form of /path?query-string)&lt;BR /&gt; ). &lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;* Set Payload or body ( JSON or XML)&lt;BR /&gt; lo_request = lo_rest_client-&amp;gt;if_rest_client~create_request_entity( ).&lt;BR /&gt; lo_request-&amp;gt;set_content_type( iv_media_type = if_rest_media_type=&amp;gt;gc_appl_json ).&lt;BR /&gt; lo_request-&amp;gt;set_header_field( iv_name = `authorization` iv_value = lv_token ).&lt;BR /&gt; lo_request-&amp;gt;set_string_data( lv_body ). &lt;/P&gt;
  &lt;P&gt;* Enhancement to Class CL_REST_HTTP_CLIENT - Method PATCH&lt;/P&gt;
  &lt;P&gt; lo_rest_client-&amp;gt;patch( lo_request ). &lt;/P&gt;
  &lt;P&gt;&lt;BR /&gt;* Collect response&lt;BR /&gt; lo_response = lo_rest_client-&amp;gt;if_rest_client~get_response_entity( ).&lt;BR /&gt; lv_response = lo_response-&amp;gt;get_string_data( )&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;x&lt;/P&gt;
  &lt;P&gt;x&lt;/P&gt;
  &lt;P&gt;x&lt;/P&gt;
  &lt;P&gt;Coding Method PATCH in Class CL_REST_HTTP_CLIENT&lt;/P&gt;
  &lt;P&gt;send_receive( iv_http_method = 'PATCH' io_entity = io_entity ).&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;
  &lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 20 Apr 2018 07:50:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap-cl-http-client-rest-patch-method/m-p/655839#M28308</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2018-04-20T07:50:37Z</dc:date>
    </item>
    <item>
      <title>Re: ABAP cl_http_client REST - PATCH method</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-cl-http-client-rest-patch-method/m-p/655840#M28309</link>
      <description>&lt;P&gt;Nice! &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;
  &lt;P&gt;That CL_REST_HTTP_CLIENT-PATCH is yours "enhancmenet method" ?&lt;/P&gt;
  &lt;P&gt;By the way, there is &lt;EM&gt;IF_REST_MESSAGE-&lt;/EM&gt;&lt;EM&gt;GC_METHOD_PATCH&lt;/EM&gt; constant, but it is not used like the others:&lt;/P&gt;
  &lt;PRE&gt;&lt;CODE&gt;CL_REST_HTTP_CLIENT

Methods:
IF_REST_RESOURCE~POST
send_receive( iv_http_method = if_rest_message=&amp;gt;gc_method_post io_entity = io_entity ).

IF_REST_RESOURCE~PUT
send_receive( iv_http_method = if_rest_message=&amp;gt;gc_method_put io_entity = io_entity ).

... but not ~PATCH&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 20 Apr 2018 08:55:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap-cl-http-client-rest-patch-method/m-p/655840#M28309</guid>
      <dc:creator>Tomas_Buryanek</dc:creator>
      <dc:date>2018-04-20T08:55:11Z</dc:date>
    </item>
  </channel>
</rss>

