Sie können Probleme mit der lokalen oder einer beliebigen Cloud-Version des ABAP SDK for Google Cloud beheben, indem Sie SAP-Anwendungslogs verwenden, um Fehlermeldungen und Logeinträge zu prüfen.
Softwareanforderungen und Voraussetzungen prüfen
Prüfen Sie, ob die gesamte Systemsoftware mit den erforderlichen Mindestversionen ausgeführt wird und alle Voraussetzungen für das ABAP SDK for Google Cloud erfüllt sind.
Informationen zu den Voraussetzungen für die SDK-Installation finden Sie unter Vorbereitung.
SAP-Supportdokumentation lesen
Wenn Sie ein SAP-Nutzerkonto haben, finden Sie die Lösung vieler SAP-Softwareprobleme in den SAP-Hinweisen und Artikeln aus der Wissensdatenbank für Adaptive Server Enterprise, die im SAP ONE-Support Launchpad verfügbar sind.
Logging
Wenn das Logging konfiguriert ist, protokolliert das ABAP SDK for Google Cloud Fehlermeldungen in SAP-Anwendungslogs. Unter Anwendungs-Logging finden Sie mehr Informationen.
So rufen Sie Logeinträge auf:
- Geben Sie in der SAP-GUI den Transaktionscode
SLG1
ein. - Geben Sie den Namen des Logobjekts und des Unterobjekts ein.
- Wählen Sie einen gültigen Datums- und Uhrzeitbereich aus.
- Führen Sie die Transaktion aus. Es werden alle vom SDK generierten Logeinträge angezeigt.
Ein Logeintrag besteht normalerweise aus den folgenden beiden Einträgen:
- Eingang: enthält Informationen zum Codestandort, an dem genau der Fehler aufgetreten ist. Für die Fehlerbehebung können Sie diesen Codespeicherort beim Debugging als Haltepunkt verwenden.
- Fehlermeldung: enthält Informationen zu einem Fehler, der beim Ausführen eines Vorgangs aufgetreten ist.
Debugging
Wenn Sie die erforderliche Autorisierung haben, können die API-Clientklassen debuggen.
Verwenden Sie eine der folgenden Optionen, um die API-Clientklassen zu debuggen:
Fügen Sie dem Konstruktor der Klasse
/GOOG/CL_HTTP_CLIENT
einen Haltepunkt hinzu und führen Sie dann das Programm aus.Alternativ können Sie der verwendeten Methode einen Haltepunkt hinzufügen und dann das Programm ausführen.
HTTP-Trace
Sie können während der Fehlerbehebung den HTTP-Trace in der Transaktion SMICM
oder ST05
aktivieren.
Deaktivieren Sie anschließend den HTTP-Trace, um die Auswirkungen auf die Leistung zu begrenzen.
Häufige Konfigurationsprobleme
/GOOG/MSG 461: Insufficient privileges for execution
Problem: Der Nutzer kann keine SDK-Konfigurationen, Utility-Programme oder Demoprogramme ausführen.
Ursache: Dem Nutzer fehlen Autorisierungen.
Lösung: Ermitteln Sie die fehlenden Autorisierungen, die für das SDK mit der Transaktion SU53
erforderlich sind.
Wenden Sie sich an Ihre SAP-Sicherheitsadministratoren, um die erforderlichen Autorisierungen für Ihre Nutzer-ID zu erhalten. Weitere Informationen finden Sie unter Autorisierungen verwalten.
/GOOG/MSG: 403 - Permission iam.serviceAccountTokenCreator
denied on resource (or it may not exist)
iam.serviceAccountTokenCreator
denied on resource (or it may not exist)Problem: Wenn Sie für Ihr SAP-System, das auf einer Compute Engine-VM gehostet wird, die Token-Authentifizierungsmethode verwenden, können Sie nicht auf die Google Cloud APIs zugreifen.
Ursache: Für Ihr SAP-System, das auf einer Compute Engine-VM gehostet wird, wird in der Clientschlüsselkonfiguration das angegebene Dienstkonto in einem anderen Google Cloud-Projekt als dem Projekt erstellt, das die SAP-Host-VM enthält.
Lösung: So beheben Sie das Problem:
- Weisen Sie im Google Cloud-Projekt, das Ihre SAP-Host-VM enthält, dem Dienstkonto der Host-VM die Rolle
Service Account Token Creator
zu. Weitere Informationen zu den Schritten finden Sie unter Einzelne Rolle zuweisen. - Im Google Cloud-Projekt, das Ihre SAP-Host-VM enthält:
- Erstellen Sie ein Dienstkonto. Notieren Sie sich den Names des Dienstkontos. Sie geben diesen Namen an, wenn Sie das Dienstkonto dem anderen Projekt, das die Google Cloud APIs enthält, als Hauptkonto hinzufügen. Informationen zum Erstellen eines Dienstkontos finden Sie unter Dienstkonto erstellen.
- Geben Sie dieses Dienstkonto in der Clientschlüsselkonfiguration für das SDK an.
- Im anderen Projekt, das die Google Cloud APIs enthält:
- Fügen Sie das Dienstkonto als Hauptkonto hinzu.
- Weisen Sie die entsprechenden Rollen zu, um eine Verbindung zu den Google Cloud APIs herzustellen. Weitere Informationen zu API-spezifischen vordefinierten Rollen finden Sie in der Referenz zu einfachen und vordefinierten IAM-Rollen.
Weitere Informationen finden Sie unter Mit Zugriffstokens authentifizieren.
Häufige operative Probleme
Wenn Sie Google Cloud APIs über die öffentlichen Client-Stub-Methoden nutzen, können Entwickler auf Fehler und Ausnahmen stoßen. Diese Fehler und Ausnahmen werden grob in zwei Kategorien unterteilt:
- Fehler und Ausnahmen, die vom ABAP SDK for Google Cloud ausgelöst werden
- Fehler, die von Google Cloud APIs zurückgegeben werden
In diesem Abschnitt werden Fehler und Ausnahmen beschrieben, die vom SDK ausgelöst werden. Für Fehler, die von APIs zurückgegeben werden, empfehlen wir Ihnen, die öffentliche Dokumentation der entsprechenden API zu prüfen.
/GOOG/MSG : 461 - Bad Request: Client key is not found in /GOOG/CLIENT_KEY table
Problem: Sie können ein API-Client-Stub-Objekt nicht instanziieren.
Ursache: Die Clientschlüsseltabelle /GOOG/CLIENT_KEY
enthält keinen gültigen Clientschlüssel.
Lösung: Behalten Sie in der Clientschlüsseltabelle /GOOG/CLIENT_KEY
einen gültigen Clientschlüssel bei.
Übergeben Sie beim Instanziieren eines API-Client-Stubs einen gültigen Clientschlüssel mit dem Importparameter iv_key_name
.
Zum Konfigurieren des Clientschlüssels verwenden Sie die für Ihre Authentifizierungsmethode spezifischen Details. Informationen zu Authentifizierungsmethoden finden Sie unter Authentifizierung.
Informationen zum Übergeben eines Clientschlüssels mit dem Importparameter iv_key_name
finden Sie unter Konstruktor.
/GOOG/MSG : 461 - Log Object not maintained in TCode SLG0
Problem: Sie können ein API-Client-Stub-Objekt nicht instanziieren.
Ursache: In der Tabelle /GOOG/LOG_CONFIG
wird ein ungültiges Standard-Logobjekt verwaltet oder ein ungültiges Logobjekt an den Importparameter iv_log_object
übergeben.
Lösung: Achten Sie darauf, dass im SAP-System ein gültiges Log-Unterobjekt vorhanden ist.
Informationen zur Logging-Konfiguration finden Sie unter Anwendungs-Logging.
Informationen zum Übergeben eines Log-Unterobjekts finden Sie unter Konstruktor.
/GOOG/MSG : 461 - Log SubObject not maintained in TCode SLG0
Problem: Sie können ein API-Client-Stub-Objekt nicht instanziieren.
Ursache: In der Tabelle /GOOG/LOG_CONFIG
wird ein ungültiges Standard-Logunterobjekt verwaltet oder ein ungültiges Logunterobjekt an den Importparameter iv_log_subobject
übergeben.
Lösung: Achten Sie darauf, dass im SAP-System ein gültiges Log-Unterobjekt vorhanden ist.
Informationen zur Logging-Konfiguration finden Sie unter Anwendungs-Logging.
Informationen zum Übergeben eines Log-Unterobjekts finden Sie unter Konstruktor.
/GOOG/MSG : 461 - Destination does not exist exception occurred in reading RFC destination
Problem: Sie können ein API-Client-Stub-Objekt nicht instanziieren.
Ursache: In der Tabelle /GOOG/SERVIC_MAP
für den angegebenen Clientschlüssel ist im SAP-System kein RFC-Ziel vorhanden.
Lösung: Erstellen Sie die erforderlichen RFC-Ziele. Weitere Informationen finden Sie unter RFC-Ziele konfigurieren.
/GOOG/MSG : 461 - Invalid RFC Destination GOOGLE_API exception occurred in reading RFC destination
Problem: Sie können keine Verbindung zu GOOGLE_API herstellen.
Ursache: Dieses Problem kann eine der folgenden Ursachen haben:
- RFC-Verbindungstyp ist nicht
G - HTTP connection to external server
. 443
-Dienst-Nr. ist nicht angegeben.- Standard-SSL-Client (Standard) ist inaktiv.
Lösung: Gehen Sie für die erforderlichen RFC-Ziele so vor:
- Aktualisieren Sie den RFC-Verbindungstyp auf
G - HTTP connection to external server
. - Achten Sie darauf, dass die Dienst-Nr.
443
ist. - Für das Feld SSL-Zertifikat muss die Option DFAULT-SSL-Client (Standard) ausgewählt sein.
- Wenn Sie für die SAP in Google Cloud-Umgebung ein RFC-Ziel für einen Metadatenserver erstellt haben, prüfen Sie, ob die Dienst-Nr.
80
ist.
Informationen zum Erstellen von RFC-Zielen finden Sie unter:
/GOOG/MSG : 461 - ERROR_MESSAGE exception occurred during the request creation
Problem: Sie können keine Verbindung zu den Google Cloud APIs herstellen.
Ursache: Das SAP-System kann kein HTTP-Clientobjekt erstellen.
Lösung: Achten Sie darauf, dass Ihr ICM für die Kommunikation über HTTP mit dem externen Server konfiguriert ist. Weitere Informationen finden Sie unter Internet Communication Manager (ICM) validieren.
/GOOG/MSG: 461 - Secret Manager Client Key not maintained in table /GOOG/CLIENT_KEY ERROR_MESSAGE
Problem: Sie können über die Secret Manager-Autorisierungsklasse /GOOG/CL_AUTH_API_KEY_SM
keine Verbindung zu Google Cloud APIs herstellen.
Ursache: In der Konfiguration des Clientschlüssels fehlt Authorization Parameter 1
oder Authorization Parameter 2
.
Lösung: Aktualisieren Sie in der Clientschlüsseltabelle den erforderlichen Authorization Parameter 1
oder Authorization Parameter 2
. Weitere Informationen finden Sie unter Clientschlüssel für Secret Manager-Zugriff konfigurieren.
/GOOG/MSG: 461 - SSF Application APPLICATION_NAME is not set up in the system ERROR_MESSAGE
Problem: Sie können über die SSF-Autorisierungsklasse /GOOG/CL_AUTH_API_KEY_SSF
keine Verbindung zu Google Cloud APIs herstellen.
Ursache: In der Konfiguration des Clientschlüssels fehlt Authorization Parameter 1
.
Lösung Aktualisieren Sie in der Tabelle mit der Clientschlüssel den erforderlichen Authorization Parameter 1
. Weitere Informationen finden Sie unter Clientschlüssel für SSF konfigurieren.
/GOOG/MSG: 461 - Method call of /GOOG/IF_AUTH~GET_ACCESS_TOKEN failed; the class CLASS_NAME does not exist
Problem: Sie können mithilfe der Konfiguration, die in der Clientschlüsseltabelle verwaltet wird, keine Verbindung zu Google Cloud APIs herstellen.
Ursache: Authorization Class
ist in der Clientschlüsseltabelle nicht korrekt.
Lösung: Behalten Sie die korrekte Authorization Class
bei.
Weitere Informationen finden Sie unter Mit einem Zugriffstoken authentifizieren.
/GOOG/MSG: 404 - Not Found
Problem: Sie können keine Verbindung zu Google Cloud APIs herstellen. Der API-Endpunkt ist nicht erreichbar.
Ursache: Die RFC-Ziele, die das SDK für die Verbindung mit Google Cloud APIs verwendet, sind nicht richtig konfiguriert. Beispielsweise wird in RFC-Zielen ein ungültiger Endpunkt konfiguriert.
Lösung: Prüfen Sie, ob die RFC-Ziele richtig konfiguriert sind. Weitere Informationen finden Sie unter RFC-Ziel konfigurieren.
DESCRIPTION_OF_ISSUE while signing JWT using profile KEY_FILE_NAME.pse. Check JWT config in STRUST
STRUST
Problem: Sie können keine Verbindung zu Google Cloud APIs herstellen.
Ursache: Die Einstellungen für die JWT-Konfiguration und den Dienstkontoschlüssel sind in STRUST
nicht richtig konfiguriert.
Lösung:Prüfen Sie, ob die JWT-Konfiguration und der Dienstkontoschlüssel konfiguriert sind, wie unter Mit JSON-Webtokens authentifizieren erläutert.
Bad Request invalid_grant. Invalid JWT Signature
Problem: Sie können keine Verbindung zu Google Cloud APIs herstellen.
Ursache: Die in STRUST
importierte PSE- oder P12-Schlüsseldatei gehört nicht zum Dienstkonto, das Sie zum Signieren des JWT verwendet haben.
Lösung: Achten Sie darauf, dass Sie die richtige Dienstkonto-Schlüsseldatei in STRUST
importieren. Informationen zum Importieren des Dienstkontoschlüssels in STRUST
finden Sie unter Dienstkontoschlüssel in STRUST importieren.
/GOOG/MSG : 417 - Direct connect to googleapis.com/oauth:443 failed: NIEHOST_UNKNOWN (-2)
Problem: Die Authentifizierung bei Google Cloud ist mit der Fehlermeldung /GOOG/MSG : 417 - Direct connect to googleapis.com/oauth:443 failed: NIEHOST_UNKNOWN (-2)
fehlgeschlagen.
Ursache: In den RFC-Zielen, die das ABAP SDK for Google Cloud zur Authentifizierung bei Google Cloud verwendet, ist der Zielhost ungültig.
Lösung: So beheben Sie das Problem:
Erstellen Sie ein RFC-Ziel mit dem Beispiel-RFC-Ziel
GOOG_OAUTH2_TOKEN
. Informationen zum Erstellen von RFC-Zielen finden Sie unter RFC-Ziele.Achten Sie darauf, dass Ihr RFC-Ziel die folgenden Werte verwendet:
- Host:
oauth2.googleapis.com
- Pfadpräfix:
/token
.
- Host:
Wenn Ihr SAP-System einen Proxy verwendet, um eine Verbindung zum Internet herzustellen, behalten Sie die erforderlichen Proxydetails am RFC-Ziel bei.
OAuth RFC HTTP Destination not maintained in /GOOG/SERVIC_MAP
/GOOG/SERVIC_MAP
Problem: Sie können keine Verbindung zu Google Cloud APIs herstellen.
Ursache: Das RFC-Ziel für OAuth 2.0 ist in der Dienstzuordnungstabelle /GOOG/SERVIC_MAP
nicht verfügbar.
Lösung: Aktualisieren Sie das RFC-Ziel für OAuth 2.0 in der Dienstzuordnungstabelle /GOOG/SERVIC_MAP
. Informationen zum Angeben von RFC-Zielen finden Sie unter RFC-Ziele in /GOOG/SERVIC_MAP
angeben.
/GOOG/MSG: 421 - SSL handshake with iamcredentials.googleapis.com:
443 failed: SSSLERR_PEER_CERT_UNTRUSTED
Problem: Die Authentifizierung bei Google Cloud ist mit der Fehlermeldung /GOOG/MSG: 421 - SSL handshake with iamcredentials.googleapis.com:
443 failed: SSSLERR_PEER_CERT_UNTRUSTED
fehlgeschlagen.
Ursache:Google-Zertifikate sind in STRUST
nicht richtig installiert.
Lösung:Laden Sie neue Zertifikate aus dem Repository von Google Trust Services herunter und laden Sie sie in Ihre STRUST
-Transaktion hoch. Verwenden Sie keine vorhandenen Zertifikate. Weitere Informationen finden Sie unter SSL-Zertifikate einrichten.
/GOOG/MSG: 503 - HTTP Communication Failure - SSL client SSL Client (Standard)
Problem: HTTP-Anfrage an eine API-Methode ist fehlgeschlagen.
Ursache: Für Ihre in Google Cloud ausgeführte SAP-Arbeitslast ist in den RFC-Zielen, mit denen das SDK eine Verbindung zu Google Cloud APIs herstellt, für die die Konfiguration in der Tabelle /GOOG/SERVIC_MAP
verwaltet wird, der Feldwert Zielhost falsch.
Lösung: Prüfen Sie, ob die RFC-Ziele richtig konfiguriert sind. Weitere Informationen finden Sie unter RFC-Ziel konfigurieren.
/GOOG/MSG: 503 - HTTP Communication Failure exception occurred during the request sending
Problem: HTTP-Anfrage an eine API-Methode ist fehlgeschlagen.
Ursache: Dieses Problem kann durch Verbindungsprobleme verursacht werden.
Lösung: Überprüfen Sie Ihre Verbindung und achten Sie darauf, dass Ihr Netzwerk ordnungsgemäß eingerichtet ist, fehlerfrei ausgeführt wird und nicht überlastet ist.
Prüfen Sie die ICM-Trace-Datei mit der Transaktion SMICM
, um das Problem mit der Netzwerkverbindung zu identifizieren. Weitere Informationen finden Sie unter 2351619 – So verwenden Sie SMICM-Trace.
/GOOG/MSG: 503 - HTTP Communication Failure exception occurred during the response receiving
Problem: HTTP-Anfrage an eine API-Methode ist fehlgeschlagen.
Dieses Problem kann durch folgende Umstände verursacht werden:
SSL ist in Ihren RFC-Zielen nicht aktiviert
Ursache: In den RFC-Zielen, die das SDK für die Verbindung mit Google Cloud APIs verwendet, ist die Sicherheitsoption für die Verwendung eines SSL-Zertifikats nicht aktiviert.
Lösung: Prüfen Sie, ob die RFC-Ziele richtig konfiguriert sind. Weitere Informationen finden Sie unter RFC-Ziel konfigurieren.
SSL-Handshake ist fehlgeschlagen
Ursache: Wenn der SSL-Handshake zwischen dem SAP-Host und dem Google Cloud API-Endpunkt fehlgeschlagen ist. Dies tritt auf, wenn das vom TLS-Server bereitgestellte Zertifikat für den Zielhostnamen des SAP-Servers nicht gültig ist, möglicherweise weil das clientseitige Senden der optionalen TLS-Erweiterungs-SNI nicht auf Ihrem NetWeaver-Kernel implementiert ist.
Lösung: Suchen Sie in Transaktion SMICM
nach dem Rückgabecode SSLERR_SERVER_CERT_MISMATCH
. Wenn Sie den Rückgabecode SSLERR_SERVER_CERT_MISMATCH
finden, müssen Sie das Senden der TLS-Erweiterungs-SNI aktivieren. Sorgen Sie außerdem dafür, dass Ihr NetWeaver-Kernel das clientseitige Senden der optionalen TLS-Erweiterungs-SNI implementiert.
Wenn Sie das Senden der TLS-Erweiterungs-SNI aktivieren möchten, setzen Sie den Profilparameter icm/HTTPS/client_sni_enabled
oder ssl/client_sni_enabled
je nach NetWeaver-Kernel-Version auf TRUE
. Weitere Informationen von SAP finden Sie unter:
- SAP-Hinweis 510007 – Weitere Überlegungen zum Einrichten von SSL für Anwendungsserver-ABAP
- SAP-Hinweis 2582368 – SapSSL-Update für das clientseitige Senden der TLS-Erweiterungs-SNI durch saphttp, sappprotp
- SAP-Hinweis 2124480 – ICM / Web Dispatcher: TLS-Erweiterungs-SNI (Server Name Indication) als Client
The caller does not have permission
Problem: Obwohl Sie erfolgreich authentifiziert wurden, können Sie nicht auf die Google Cloud API-Ressourcen zugreifen.
Ursache: Sie sind nicht berechtigt, die API-Ressource aufzurufen.
Lösung: So beheben Sie das Problem:
- Achten Sie darauf, dass die API-Ressource mit den Anmeldedaten Ihres Google-Kontos freigegeben ist.
- Stellen Sie eine Anfrage an die API und prüfen Sie die Antwort.
Google API_NAME API has not been used in project PROJECT_ID before or it is disabled
Problem: Sie können nicht über Ihre OAuth 2.0-Clientanmeldedaten auf die Google Cloud APIs zugreifen.
Ursache: Sie verwenden eine in einem Google Cloud-Projekt erstellte Client-ID, um eine API aufzurufen, die in einem anderen Google Cloud-Projekt aktiviert ist.
Eine Client-ID aus einem Google Cloud-Projekt kann nicht zum Aufrufen von APIs aus einem anderen Projekt verwendet werden, auch wenn sich beide in derselben Organisation befinden.
Lösung: Erstellen Sie eine Client-ID in dem Google Cloud-Projekt, in dem die API aktiviert ist. Weitere Informationen finden Sie unter Anmeldedaten mit OAuth 2.0-Client-ID erstellen.
/GOOG/MSG : 461 - OAuth 2.0 Client Profile CLIENT_PROFILE_NAME is assigned to multiple OAuth 2.0 clients
Problem: Sie können nicht über Ihre OAuth 2.0-Clientanmeldedaten auf die Google Cloud APIs zugreifen.
Ursache: Sie rufen eine Google Cloud API mit einem OAuth 2.0-Profil auf, das mehreren OAuth 2.0-Clients zugewiesen ist.
Der OAuth 2.0-Clientkonfigurationsname wird jedoch nicht im Feld Authorization Parameter 2
der Clientschlüsseltabelle /GOOG/CLIENT_KEY
angegeben.
Lösung: Wenn Sie einem OAuth 2.0-Client ein OAuth 2.0-Profil zuweisen möchten, müssen Sie für jeden OAuth 2.0-Client einen eindeutigen Konfigurationsnamen definieren und den Konfigurationsnamen im Feld Authorization Parameter 2
der Clientschlüsseltabelle /GOOG/CLIENT_KEY
angeben. Weitere Informationen finden Sie unter Szenario mit mehreren Google Cloud-Projekten.
/GOOG/MSG : 461 - No refresh token available for current user
Problem: Sie können nicht über Ihre OAuth 2.0-Clientanmeldedaten auf die Google Cloud APIs zugreifen.
Ursache: Sie rufen eine Google Cloud API mit OAuth 2.0-Clientanmeldedaten auf, ohne das OAuth 2.0-Aktualisierungstoken für die Client-ID zu erteilen.
Lösung: Fordern Sie mit Ihren Anmeldedaten für das Google-Konto ein OAuth 2.0-Token für die Client-ID an. Weitere Informationen finden Sie unter OAuth 2.0-Zugriffstokens anfordern.
Access blocked: This app's request is invalid (Error 400: redirect_uri_mismatch)
Problem: Wenn Sie OAuth 2.0-Zugriffstokens anfordern, wird der Bildschirm Über Google anmelden mit der Fehlermeldung Access blocked: This app's request is invalid (Error 400: redirect_uri_mismatch)
angezeigt.
Ursache: Der autorisierte Weiterleitungs-URI in den OAuth 2.0-Client-ID-Anmeldedaten ist falsch oder wird nicht verwaltet.
Lösung: So beheben Sie das Problem:
- Geben Sie in Ihrem SAP-System den Transaktionscode
OA2C_CONFIG
ein. Die SAP-Anmeldeseite wird in Ihrem Standardbrowser geöffnet. - Melden Sie sich mit Ihren SAP-Anmeldedaten an.
- Wählen Sie die erforderliche Client-ID aus.
- Notieren Sie sich im Feld Weiterleitungs-URI den SAP-Weiterleitungs-URI.
Gehen Sie in der Google Cloud Console zu Menü > APIs und Dienste > Anmeldedaten.
Wählen Sie die Client-ID Ihrer Webanwendung aus.
Geben Sie im Feld Autorisierte Weiterleitungs-URIs den SAP-Weiterleitungs-URI ein.
Speichern Sie die Änderungen.
/GOOG/MSG : 406 - IcmIConnCheckClientEnabled: Connect for protocol HTTP denied by configuration HTTP Response
Problem: Sie können nicht auf die Google Cloud APIs zugreifen.
Ursache: Die HTTP-Portkonfiguration fehlt in Ihrem SAP-System.
Lösung: Sowohl HTTP- als auch HTTPS-Ports müssen in Ihrem SAP-System erstellt und aktiv sein.
Die VM-Metadaten werden auf einem Metadatenserver gespeichert, der nur über einen HTTP-Port zugänglich ist. Daher müssen Sie für den Zugriff auf VM-Metadaten darauf achten, dass ein HTTP-Port aktiv ist. Außerdem muss ein HTTPS-Port für nachfolgende API-Aufrufe aktiv sein.
So beheben Sie das Problem:
Geben Sie in der SAP-GUI den Transaktionscode
SMICM
ein.Klicken Sie in der Menüleiste auf Weiter zu > Dienste.
Prüfen Sie, ob die HTTP- und HTTPS-Ports erstellt wurden und aktiv sind. Ein grünes Häkchen in der Spalte Actv gibt an, dass die HTTP- und HTTPS-Ports aktiv sind.
Informationen zum Konfigurieren der HTTP- und HTTPS-Ports finden Sie unter HTTP(S)-Einstellungen in ICM.
/GOOG/MSG: 403 - Request had insufficient authentication scopes
Problem: Der API-Aufruf ist mit der Fehlermeldung /GOOG/MSG: 403 - Request
had insufficient authentication scopes
fehlgeschlagen.
Ursache: Für Ihre in Google Cloud ausgeführte SAP-Arbeitslast hat das angegebene Dienstkonto in der Tabelle /GOOG/CLIENT_KEY
nicht den erforderlichen Bereich zum Zugriff auf Google Cloud APIs.
Lösung: So beheben Sie das Problem:
Öffnen Sie in der Google Cloud Console die Compute Engine-Seite VM-Instanzen.
Klicken Sie auf die VM-Instanz, auf der Ihre SAP-Arbeitslast ausgeführt wird.
Klicken Sie auf Beenden und folgen Sie dann der Anleitung zum Beenden der VM-Instanz.
Klicken Sie auf Bearbeiten.
Bearbeiten Sie für das zugehörige Dienstkonto die Zugriffsbereiche, um vollständigen Zugriff auf alle Cloud APIs zu ermöglichen.
Klicken Sie auf Speichern.
Klicken Sie auf Starten/Fortsetzen, um die VM-Instanz neu zu starten.
Error in HTTP Request: Invalid version (44)
Problem: Sie können mit der Methode DELETE_OBJECTS
der Klasse /GOOG/CL_STORAGE_V1
kein Objekt aus einem Cloud Storage-Bucket löschen.
Ihre Anfrage ist mit der Fehlermeldung Error in HTTP Request: Invalid version (44)
fehlgeschlagen.
Ursache: Der Name des zu löschenden Objekts enthält Leerzeichen.
Lösung: Bevor Sie die DELETE_OBJECTS
-Methode der Klasse /GOOG/CL_STORAGE_V1
aufrufen, müssen Sie darauf achten, dass der Objektname keine Leerzeichen enthält.
So beheben Sie das Problem:
Rufen Sie die Methode
cl_http_utility=>escape_url( OBJECT_NAME )
auf.Ersetzen Sie
OBJECT_NAME
durch den Namen des Objekts, das Sie löschen möchten.Die Methode gibt den Objektnamen zurück, nachdem alle Leerzeichen im Namen durch
%20
ersetzt wurden, um ihn URL-sicher zu machen.Rufen Sie die Methode
DELETE_OBJECTS
der Klasse/GOOG/CL_STORAGE_V1
mit dem Objektnamen auf, der im vorherigen Schritt zurückgegeben wurde.
/GOOG/MSG: 405 - Error in HTTP Request: Invalid request line(9):
Problem: Beim Erstellen eines neuen Pub/Sub-Themas mit der CREATE_TOPICS
-Methode der Klasse /GOOG/CL_PUBSUB_V1
ist Ihre Anfrage mit der Fehlermeldung /GOOG/MSG: 405 - Error in HTTP Request: Invalid request line(9):
fehlgeschlagen.
Ursache: Der Name des Pub/Sub-Themas, das Sie erstellen, enthält Leerzeichen.
Lösung: Entfernen Sie alle Leerzeichen aus dem Namen des Pub/Sub-Themas.
Der Name des Pub/Sub-Themas muss den folgenden Regeln entsprechen:
- Muss mit einem Buchstaben beginnen
- Darf nicht mit
GOOG
beginnen - Darf keine Leerzeichen enthalten.
- Er muss zwischen 3 und 255 Zeichen lang sein
- Er darf nur die folgenden Zeichen enthalten: Buchstaben
[A-Za-z]
, Zahlen[0-9]
, Bindestriche(-)
, Punkte.
, Unterstriche_
, Tilden~
, Prozentzeichen%
und Pluszeichen+
.
Weitere Informationen zu den Benennungsrichtlinien für Pub/Sub-Themen finden Sie unter Richtlinien für die Benennung von Themen, Abos, Schemas oder Snapshots.
Von Google Cloud APIs zurückgegebene Fehlermeldungen
Jeder API-Client-Stub hat die Exportparameter, die den API-Rückgabecode und die Fehlermeldungen bereitstellen.
ev_ret_code
enthält die HTTP-Statuscodes. Bei einem Fehler, der von einer API zurückgegeben wird, enthält dieser Parameter einen Wert4XX
.ev_err_resp
enthält die von einer API zurückgegebene Fehlerkategorie und Fehlermeldung.
Das folgende Beispiel zeigt einen API-Fehler, wenn Sie ein neues Pub/Sub-Thema mit einem bereits vorhandenen Themennamen erstellen.
ERROR_TEXT
: KonfliktERROR_DESCRIPTION
: Ressource ist bereits im Projekt vorhanden (resource=SAMPLE_TOPIC_01
)
Support von der Community
In den Cloud-Foren können Sie Ihre Fragen stellen und über die ABAP SDK für Google Cloud mit der Community sprechen.
Support kontaktieren
Wenn Sie Hilfe bei der Behebung von Problemen mit dem ABAP SDK for Google Cloud benötigen, erfassen Sie alle verfügbaren Diagnoseinformationen und wenden Sie sich an Cloud Customer Care.
Weitere Informationen zur Kontaktaufnahme mit Cloud Customer Care finden Sie unter Support für SAP in Google Cloud.