Programmierung von SAP-Programm für API´s

Getting started ... Alles für einen gelungenen Start.
7 Beiträge • Seite 1 von 1
7 Beiträge Seite 1 von 1

Programmierung von SAP-Programm für API´s

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

hat jemand schon mal ein SAP-Programm programmiert, welches von SAP heraus API´s aufruft bzw. die Daten davon abgreift?

Ich hätte mich jetzt mal entlang eines Tutorials gehangelt, aber leider funktioniert es noch nicht so ganz :/.

Das wäre mein Coding:

Code: Alles auswählen.


TRY.

  " API URL

  DATA(lv_url) = |https://www.rapdiapi.com|.

  DATA: o_client TYPE REF TO if_http_client.

  " Create HTTP Object

  cl_http_client=>create_by_url( EXPORTING
                                    url = lv_url

                                 IMPORTING

                                   client = o_client

                                 EXCEPTIONS

                                    argument_not_found  = 1
                                    plugin_not_active   = 2
                                    internal_error      = 3
                                    others = 4 ).

  if sy-subrc <> 0.
    o_client->close( ).
  endif.

if o_client is bound.


" set http method

  o_client->request->set_method( if_http_request=>co_request_method_get ).


  " set_header_fields

  o_client->request->set_header_field( name = 'X-RapidAPI-Host'
                                       value = 'airport-info.p.rapidapi.com' ).

  o_client->request->set_header_field( name = 'X-RapidAPI-Key'
                                       value = '7217e89939msh998319a5fa4b773p107fc2jsne56a3276d142' ).

  "set_timout

  o_client->send( timeout = if_http_client=>co_timeout_default ).

  "read response, http_status, payload

  o_client->receive( ).

  Data: lv_http_status TYPE i,
        lv_status_text TYPE string.

  o_client->response->get_status( IMPORTING
                                    code = lv_http_status
                                    reason = lv_status_text ) .

  write: / 'HTTP_STATUS_CODE:', lv_http_status.
  write: / 'STATUS_TEXT:', lv_status_text.

  if lv_http_status = 200.
    DATA(lv_result) = o_client->response->get_cdata( ).

    write: / 'Response'.
    write: / lv_result.

  endif.

  "close http_connection

  o_client->close( ).

  ENDIF.

  CATCH cx_root INTO DATA(e_txt).
    WRITE: / e_txt->get_text( ).

ENDTRY.



Leider klappt es mit dem SSL-Zertifikat immer noch nicht :(

Hat jemand so etwas schon mal gemacht und könnte mir da ein paar Tipps geben?

Was müsste der Drittanbieter liefern? Die URL und was sonst noch, damit das mit der API klappt?

Vielen Dank im Voraus.

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


Re: Programmierung von SAP-Programm für API´s

Beitrag von whaslbeck (ForumUser / 75 / 18 / 10 ) »
"Klappt nicht" ist schon eine etwas schammige Aussage.
Hast du das Zertifikat in der STRUST bei den Client Certs importiert?

Jedenfalls (auch wenn dir das jetzt nicht weiterhilft): API Keys bitte nicht hardcodieren und um gotteswillen nicht ins Internet werfen. Ich hoffe der aus dem Coding ist kein echter, sonst hast du ihn jetzt verbrannt.

hth,
Walter

Re: Programmierung von SAP-Programm für API´s

Beitrag von ewx (Top Expert / 4854 / 313 / 644 ) »
https://docs.abapgit.org/user-guide/set ... setup.html
Vielleicht ist es aber auch schon der Schreibfehler in der URL?

Re: Programmierung von SAP-Programm für API´s

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

vielen Dank schon mal für eure Antworten. Ich habe das mit den API´s leider noch nie gemacht und mich mal an einem Tutorial entlanggehangelt.

Ja, das Zertifikat habe ich im STRUST hinterlegt. Leider bekomme ich trotzdem den Kurzdump (siehe Bilder).

Mal noch generell gefragt, für was würde API-Key überhaupt stehen? Und müssten mir die Anbieter der API auf jeden Fall diesen Key und den Host liefern?

Tut mir leid, ich bin da gerade noch ein bisschen planlos.

Re: Programmierung von SAP-Programm für API´s

Beitrag von whaslbeck (ForumUser / 75 / 18 / 10 ) »
Hallo,

du musst das Client Zertifikat nicht bei der System PSE hinterlegen, sondern beim SSL Client (Standard)

Walter

Re: Programmierung von SAP-Programm für API´s

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

ich hätte es jetzt in SSL-Client Standard gepackt, aber leider bekomme ich immer noch die Fehlermeldung :/.

Siehe bild

Re: Programmierung von SAP-Programm für API´s

Beitrag von whaslbeck (ForumUser / 75 / 18 / 10 ) »
Hallo,

na dann liegt evtl. ein anderes Problem vor. Kann das SAP System überhaupt technisch mit deinem Endpunkt sprechen (Firewall etc?). Frag mal an der Basis. Ansonsten: Hast du schon versucht, ob der API Aufruf generell funktioniert (z.B. mit Bruno oder einem der x Browser Plugins)?

Ausserdem würde ich empfehlen bei allen Methodenaufrufen, die Exceptions schmeissen, diese auch zu behandeln.

Seite 1 von 1

Vergleichbare Themen

0
Antw.
1489
Views
Programmierung von SAP-Programm für API´s
von Bright4.5 » 12.12.2024 09:27 • Verfasst in SAP HANA für Anfänger
0
Antw.
1610
Views
Unicodevorgaben bei der Programmierung
von JürgenFFM » 07.11.2007 11:29 • Verfasst in Dialogprogrammierung
0
Antw.
1447
Views
37
Antw.
1835
Views
Dynamische Programmierung
von ZF_SAPler » 16.09.2022 14:57 • Verfasst in ABAP® für Anfänger
7
Antw.
3554
Views
Programmierung erlernen
von Trolli » 20.07.2005 16:03 • Verfasst in SAP - Allgemeines

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.