Unterschiedliche JSON-Ergebnisse bei Aufruf von "cl_http_client=>create_by_url" und manuellem Aufruf der URL im Browser

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Unterschiedliche JSON-Ergebnisse bei Aufruf von "cl_http_client=>create_by_url" und manuellem Aufruf der URL im Browser

Beitrag von JSchaefer (ForumUser / 8 / 1 / 0 ) »
Hallo zusammen,

im Zuge einer Anforderung habe ich die Notwendigkeit einen HTTP-Request an eine Google-API zu senden und von dort die JSON-Response entgegenzunehmen und zu verarbeiten.
Dafür baue ich mir die URL im Coding zusammen und füge den vorhandenen API-Key an. Sende ich nun die Anfrage über ein instanziiertes Objekt der Klasse "cl_http_client=>create_by_url" an den Server und nehme das Ergebnis mittels "cl_http_client->response->get_cdata( )." entgegen, so ist der vorhandene JSON-String unter Umständen, jedoch nicht immer, ein anderer als bei manuellem Aufruf der gebildeten URL im Browser.
"Jedoch nicht immer" bezieht sich auf verschiedene dynamisch zusammengebaute URLs. Ich bekomme daher bspw. bei einer URL im SAP immer das gleiche (falsche) Ergebnis. Bei wiederum einer anderen ein richtiges Ergebnis, wie es auch bei manuellem Einfügen im Browser ausgegeben wird.

Die im Browser eingefügte URL entspricht daher exakt jener, wie sie im Coding zusammengebaut wird. Ich kopiere diese aus dem Debugger in die URL-Leiste. Die abweichenden Ergebnisse sind für mich nicht nachvollziehbar.

Habt ihr eine Idee, woran so etwas liegen kann?


Gruß
Jannik Schäfer
System: S/4 HANA 2020 mit FP 05/21.

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


Re: Unterschiedliche JSON-Ergebnisse bei Aufruf von "cl_http_client=>create_by_url" und manuellem Aufruf der URL im Brow

Beitrag von whaslbeck (ForumUser / 79 / 21 / 11 ) »
Hallo,

das weiß wohl nur der Anbieter der API.

Evtl. gibt es noch andere Abhängigkeiten (z.B. Zeit der Abfrage, Quelle/IP des abfragenden Systems, Headerzeilen des HTTP Requests etc.). Wenn du die Möglichkeit dazu hast, kannst du ja mal mit Wireshark die Request/Response Pakte der beiden Abfragen (CL_HTTP_CLIENT und dein Browser) mitschneiden und vergleichen.

Walter

Re: Unterschiedliche JSON-Ergebnisse bei Aufruf von "cl_http_client=>create_by_url" und manuellem Aufruf der URL im Brow

Beitrag von a-dead-trousers (Top Expert / 4473 / 228 / 1203 ) »
Mir fallen noch spontan unterschiedliche Codepages, Content-Types und Spracheinstellungen ein. Diverse Browser schicken hier ohne zutun des Benutzers ihre Standardeinstellungen mit. Das sieht man am ehesten im Header des Requests. Dafür braucht man aber, glaube ich, gar nicht mal den Wireshark. EDGE/Chrome und Firefox sollten das in den Developertools bereits anbieten. In SAP kann man die Felder aus dem Request Header mit IF_HTTP_CLIENT->REQUEST->GET_HEADER_FIELDS zur Laufzeit (z.B. im Debugger) auslesen.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
JSchaefer

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: Unterschiedliche JSON-Ergebnisse bei Aufruf von "cl_http_client=>create_by_url" und manuellem Aufruf der URL im Brow

Beitrag von JSchaefer (ForumUser / 8 / 1 / 0 ) »
Hallo zusammen,

danke für eure Antworten. Da waren auf jeden Fall ein paar gute Ideen dabei, die ich ausprobiert habe. Leider ist mein Problem noch nicht behoben. Da es nach dem bisherigen Wissensstand nur vereinzelt bei bestimmten Anfragen auftritt, werden wir es weiter beobachten.

Gruß
Jannik
System: S/4 HANA 2020 mit FP 05/21.

Seite 1 von 1

Vergleichbare Themen

1
Antw.
19183
Views
Parameterübergabe bei HTTP-Aufruf
von herr mb » 20.01.2011 13:31 • Verfasst in Development Related
3
Antw.
5805
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.
724
Views
Aufruf RFC_CALL_TRANSACTION_USING
von zero88 » 23.02.2024 15:51 • Verfasst in ABAP® für Anfänger
0
Antw.
2283
Views
Aufruf SAP Objekte
von hezi » 25.08.2006 12:30 • Verfasst in ABAP® Core
1
Antw.
2220
Views
CALL_FUNCTION_SYSCALL_ONLY in RFC-Aufruf
von lausek » 20.03.2019 14:38 • Verfasst in Basis

Aktuelle Forenbeiträge

Datum + 5 Jahre - 1 Tag
vor 9 Stunden von ralf.wenzel gelöst 13 / 1478
Datum + 5 Jahre - 1 Tag
vor 4 Tagen von ralf.wenzel 1 / 1185
Export/Import Eclipse-Projekt
vor 5 Tagen von DeathAndPain gelöst 4 / 3254

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.

Aktuelle Forenbeiträge

Datum + 5 Jahre - 1 Tag
vor 9 Stunden von ralf.wenzel gelöst 13 / 1478
Datum + 5 Jahre - 1 Tag
vor 4 Tagen von ralf.wenzel 1 / 1185
Export/Import Eclipse-Projekt
vor 5 Tagen von DeathAndPain gelöst 4 / 3254

Unbeantwortete Forenbeiträge

Datum + 5 Jahre - 1 Tag
vor 4 Tagen von ralf.wenzel 1 / 1185
VOLL Artikel in einem Display Typ 12
vor 4 Wochen von ThomasM84 1 / 13059