Post-Methode für API´s

Getting started ... Alles für einen gelungenen Start.
1 Beitrag • Seite 1 von 1
1 Beitrag Seite 1 von 1

Post-Methode für API´s

Beitrag von Bright4.5 (Specialist / 283 / 21 / 1 ) »
Hallo zusammen,

ich würde gerne noch Daten per API auf eine URL hochladen. Weiß jemand vielleicht welche Methode man da nutzen müsste, um Daten hier anzuhängen um diese hochzuladen? Ich habe da schon einiges probiert, aber leider hat es bisher noch nicht geklappt.

Hat jemand so etwas schon mal gemacht und hätte mir da einen Tipp?

Hier wäre mein Coding:

Code: Alles auswählen.

TRY.

      TYPES: BEGIN OF ty_test,

          pernnr TYPE p2001-pernr,
          awart TYPe p2001-awart,
     END OF ty_test.


    DATA: lo_client      TYPE REF TO if_http_client,
          lo_request     TYPE REF TO if_http_request,
          lv_rc          TYPE sy-subrc,
          lv_http_rc     TYPE sy-subrc,
          lv_xml_xstring TYPE xstring,
          lv_xml_string  TYPE string,
          lv_url         TYPE string VALUE 'X'.

    DATA: lv_data TYPE ty_test,
          gs_json TYPE string.


    CALL METHOD cl_http_client=>create_by_url
      EXPORTING
        url                = lv_url
        proxy_host         = 'X'
        proxy_service      = '8080'
*       ssl_id             =
*       sap_username       =
*       sap_client         =
      IMPORTING
        client             = lo_client
      EXCEPTIONS
        argument_not_found = 1
        plugin_not_active  = 2
        internal_error     = 3
        OTHERS             = 4.
    IF sy-subrc <> 0.
*   Implement suitable error handling here
    ENDIF.

    CALL METHOD lo_client->authenticate(
      EXPORTING
        proxy_authentication = 'X'
        client               = '200'
        username             = X
        password             = X
        language             = X

                           ).

*
*DATA: http_dest TYPE rfcdest VALUE 'ZTEST_HTTP'.
*
* cl_http_client=>create_by_destination( EXPORTING
* destination = http_dest IMPORTING client = lo_client ).
*
* CALL METHOD lo_client->request->set_method(
* if_http_request=>co_request_method_get ).



CALL METHOD lo_client->send
EXCEPTIONS
http_communication_failure = 1
http_invalid_state         = 2
http_processing_failed     = 3
http_invalid_timeout       = 4
OTHERS                     = 5.
IF sy-subrc <> 0.
RAISE connection_error.
ENDIF.

CALL METHOD lo_client->receive
EXCEPTIONS
http_communication_failure = 1
http_invalid_state         = 2
http_processing_failed     = 3
OTHERS                     = 4.



    IF lv_rc = 0.
**http status code
      lo_client->response->get_status( IMPORTING code = lv_http_rc ).

      IF lv_http_rc <> 200.
        """KO
      ELSE. "status 200 ->>OK
        CLEAR: lv_xml_xstring.
        lv_xml_xstring = lo_client->response->get_data( ).

      ENDIF.
    ENDIF.

    lo_client->close( ).


    DATA(o_conv_r) = cl_abap_conv_in_ce=>create( input = lv_xml_xstring encoding = 'UTF-8' ).
    o_conv_r->read( IMPORTING data = lv_xml_string ).

    WRITE: / lv_xml_string.




ENDTRY.
Vielen Dank im Voraus.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Seite 1 von 1

Vergleichbare Themen

3
Antw.
675
Views
HTTPS Aufruf mit Parameter mit POST Methode
von stony007_de » 21.11.2022 12:29 • Verfasst in ABAP® für Anfänger
21
Antw.
16178
Views
HTTPS POST mit Dateien anhängen
von Adrian » 28.06.2013 12:03 • Verfasst in ABAP® für Anfänger
2
Antw.
4516
Views
HTTP-Post von Dateien in ABAP
von Abrissbirne » 17.09.2012 01:44 • Verfasst in ABAP® Core
0
Antw.
1265
Views
0
Antw.
3524
Views
WebDynpro Post-Exit geht nicht
von kaim77 » 29.06.2020 21:19 • Verfasst in Web-Dynpro, BSP + BHTML

Über diesen Beitrag

Bright4.5

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Post-Methode für API´s
Gestern von Bright4.5 1 / 134

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.