Fehlerbehebung bei der lokalen oder einer beliebigen Cloud-Version des ABAP SDK for Google Cloud

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:

  1. Geben Sie in der SAP-GUI den Transaktionscode SLG1 ein.
  2. Geben Sie den Namen des Logobjekts und des Unterobjekts ein.
  3. Wählen Sie einen gültigen Datums- und Uhrzeitbereich aus.
  4. 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)

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:

  1. 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.
  2. Im Google Cloud-Projekt, das Ihre SAP-Host-VM enthält:
    1. 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.
    2. Geben Sie dieses Dienstkonto in der Clientschlüsselkonfiguration für das SDK an.
  3. Im anderen Projekt, das die Google Cloud APIs enthält:
    1. Fügen Sie das Dienstkonto als Hauptkonto hinzu.
    2. 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

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:

  1. Erstellen Sie ein RFC-Ziel mit dem Beispiel-RFC-Ziel GOOG_OAUTH2_TOKEN. Informationen zum Erstellen von RFC-Zielen finden Sie unter RFC-Ziele.

  2. Achten Sie darauf, dass Ihr RFC-Ziel die folgenden Werte verwendet:

    • Host: oauth2.googleapis.com
    • Pfadpräfix: /token.
  3. 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

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:

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:

  1. Achten Sie darauf, dass die API-Ressource mit den Anmeldedaten Ihres Google-Kontos freigegeben ist.
  2. 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:

  1. Geben Sie in Ihrem SAP-System den Transaktionscode OA2C_CONFIG ein. Die SAP-Anmeldeseite wird in Ihrem Standardbrowser geöffnet.
  2. Melden Sie sich mit Ihren SAP-Anmeldedaten an.
  3. Wählen Sie die erforderliche Client-ID aus.
  4. Notieren Sie sich im Feld Weiterleitungs-URI den SAP-Weiterleitungs-URI.
  5. Gehen Sie in der Google Cloud Console zu Menü  > APIs und Dienste > Anmeldedaten.

    Zu den Anmeldedaten

  6. Wählen Sie die Client-ID Ihrer Webanwendung aus.

  7. Geben Sie im Feld Autorisierte Weiterleitungs-URIs den SAP-Weiterleitungs-URI ein.

  8. 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:

  1. Geben Sie in der SAP-GUI den Transaktionscode SMICM ein.

  2. Klicken Sie in der Menüleiste auf Weiter zu > Dienste.

  3. 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:

  1. Öffnen Sie in der Google Cloud Console die Compute Engine-Seite VM-Instanzen.

    Zur Seite „VM-Instanzen“

  2. Klicken Sie auf die VM-Instanz, auf der Ihre SAP-Arbeitslast ausgeführt wird.

  3. Klicken Sie auf Beenden und folgen Sie dann der Anleitung zum Beenden der VM-Instanz.

  4. Klicken Sie auf Bearbeiten.

  5. Bearbeiten Sie für das zugehörige Dienstkonto die Zugriffsbereiche, um vollständigen Zugriff auf alle Cloud APIs zu ermöglichen.

  6. Klicken Sie auf Speichern.

  7. 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:

  1. 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.

  2. 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 Wert 4XX.

  • 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: Konflikt
  • ERROR_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.