Klasse CL_REST_HTTP_CLIENT kennt PATCH-Methode nicht - was tun?

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

Klasse CL_REST_HTTP_CLIENT kennt PATCH-Methode nicht - was tun?

Beitrag von DeathAndPain (Top Expert / 1802 / 214 / 396 ) »
Hallo zusammen,

unter Nutzung der Klasse CL_REST_HTTP_CLIENT mache ich REST-Zugriffe auf einen externen Server. GET und POST funktionieren auch wunderbar, doch nun brauche ich auch einen PATCH, und dafür hat die Klasse keine Methode (weil das Interface IF_REST_RESOURCE dafür keine Methode hat). Ich hab munkeln hören, dass das in höheren Releaseständen anders sein soll, aber wie dem auch sein mag, bei mir ist es noch so.

Eine Beschreibung des Problems und eine eigentlich schick aussehende Lösung habe ich hier gefunden:

https://stackoverflow.com/questions/601 ... ttp-client

Der dortige Fragesteller war mit dieser Lösung zufrieden. Für mich ist sie jedoch nicht ausreichend gut erklärt, denn folgende Details fehlen mir:
  • Wie kriege ich das Request-JSON (habe ich als String vorzuliegen) da rein?
  • Wie kriege ich das Ergebnis-JSON da raus?
  • Wie kriege ich die HTTP-Response (Statuscode, Reason und Response-String) da raus?
Das sind alles Funktionalitäten, die es in der Klasse CL_REST_HTTP_CLIENT gibt. Wenn man, wie in der Lösung empfohlen, nur CL_HTTP_CLIENT benutzt, wird man das irgendwie "zu Fuß" nachbauen müssen. Aber wie? Ich blicke bei dem Gewusel ineinander verzahnter Objekte und Interfaces von CL_HTTP_CLIENT nicht durch.

Kann mir hier jemand die entscheidenden Tipps geben?

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


Re: Klasse CL_REST_HTTP_CLIENT kennt PATCH-Methode nicht - was tun?

Beitrag von a-dead-trousers (Top Expert / 4286 / 214 / 1142 ) »
Hi.

Genau deshalb hab ich auch die Finger von CL_REST_HTTP_CLIENT gelassen und verwende stattdessen nur den CL_HTTP_CLIENT.

Die Methoden, die du suchst:

Code: Alles auswählen.

lo_client->request->set_cdata( ... ). "Textuell
lo_client->request->set_data( ... ). "Binär

* Nach dem SEND/RECEIVE

lo_client->response->get_cdata( ... ). "Textuell
lo_client->response->get_data( ... ). "Binär

lo_client->response->get_status( ).
Der Rest, wie man den PATCH aufruft, ist in dem Link eh gut beschrieben.

lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Klasse CL_REST_HTTP_CLIENT kennt PATCH-Methode nicht - was tun?

Beitrag von DeathAndPain (Top Expert / 1802 / 214 / 396 ) »
Das funktioniert. Herzlichen Dank!

Seite 1 von 1

Vergleichbare Themen

3
Antw.
470
Views
SAP ABAP Rest aufruf: http communication failure?
von sap_koun » 29.12.2022 01:03 • Verfasst in ABAP® für Anfänger
1
Antw.
262
Views
REST-Schnittstelle mit PUT-methode
von GünterL » 27.11.2023 13:57 • Verfasst in Development Related
7
Antw.
257
Views
Class kennt eigene Methode nicht
von HH_ABAP » 05.05.2023 18:07 • Verfasst in ABAP® für Anfänger
8
Antw.
5738
Views
Redefinition Methode in lokaler Klasse
von olli-x » 30.01.2007 14:11 • Verfasst in ABAP Objects®
2
Antw.
2086
Views
Methode einer Klasse: zugehöriger NAME in der TRDIR
von Bernd » 24.06.2005 11:32 • Verfasst in ABAP Objects®

Über diesen Beitrag


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

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.