Programmierung von SAP-Programm für API´s

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

Programmierung von SAP-Programm für API´s

Beitrag von Bright4.5 (Specialist / 281 / 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 / 77 / 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 / 4857 / 314 / 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 / 281 / 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 / 77 / 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 / 281 / 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 / 77 / 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.

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

Beitrag von Bright4.5 (Specialist / 281 / 21 / 1 ) »
Also die API hätte ich jetzt mal über Postman getestet und da hat alles funktioniert.

Leider bekomme ich im SAP-System immer den Fehler:

443 failed: NIECONN_REFUSED(-10)

Die Zertifikate sollten drin sein.

An was könnte es sonst noch liegen? Wie könnte man testen, ob das SAP-System mit dem Endpunkt sprechen kann?

Müsste da vielleicht noch eine Service hier angelegt werden:

/n/iwfnd/maint_service

Oder braucht man das nicht?

Vielen Dank im Voraus.

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

Beitrag von whaslbeck (ForumUser / 77 / 18 / 10 ) »
Wie schon gesagt: ich würde empfehlen, mit der Basis/Netzwerkadmins zu sprechen.

Kann sein, das da irgendwo deine Pakete rejected werden. Ein Blick auf den Traffic mit Wireshark könnte auch etwas Erleuchtung bringen :-)

Um das Testen zu erleichtern würde ich den API Endpoint in der SM59 einrichten. (API Endpoints in der SM59 ist generell eine bessere Idee als Hart-Codierte URLs im Quelltext).

Walter

Seite 1 von 1

Vergleichbare Themen

1
Antw.
6054
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.
1961
Views
Unicodevorgaben bei der Programmierung
von JürgenFFM » 07.11.2007 11:29 • Verfasst in Dialogprogrammierung
0
Antw.
1785
Views
37
Antw.
2654
Views
Dynamische Programmierung
von ZF_SAPler » 16.09.2022 14:57 • Verfasst in ABAP® für Anfänger
7
Antw.
4056
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.