Um Probleme mit der SAP BTP-Edition des ABAP SDK for Google Cloud zu beheben, müssen Sie zuerst herausfinden, woher das Problem kommen könnte. Das Problem kann mit Ihrer Infrastruktur, der SAP BTP-Umgebung und den von Ihnen verwendeten Tools oder dem ABAP SDK für Google Cloud selbst zusammenhängen.
Wenn Ihre Analyse auf ein Problem mit dem ABAP SDK for Google Cloud verweist, beheben Sie Probleme mithilfe von SAP-Anwendungslogs und Fehlermeldungen.
Wenn Sie der Meinung sind, dass das Problem in Ihrer SAP-Umgebung oder in Ihren Tools liegt, wenden Sie sich an SAP, um Unterstützung zu erhalten.
Voraussetzungen überprüfen
Prüfen Sie, ob alle Voraussetzungen für die Installation der SAP BTP-Version des 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.
Logs ansehen
Wenn das Logging konfiguriert ist, protokolliert die SAP BTP-Edition des ABAP SDK for Google Cloud Fehlermeldungen in SAP-Anwendungslogs. Weitere Informationen zum Logging finden Sie unter Logging konfigurieren.
Führen Sie die folgenden Schritte aus, um Logeinträge aufzurufen:
- Rufen Sie das SAP Fiori Launchpad des BTP-ABAP-Systems auf, auf dem das ABAP SDK for Google Cloud installiert ist.
- Öffnen Sie die App Google SDK: Application Logs Display.
Geben Sie die Logfilter entsprechend an:
- Von: Wählen Sie ein Startdatum aus, nach dem die Logs gefiltert werden sollen.
- Bis: Wählen Sie ein Enddatum aus, bis zu dem Logs gefiltert werden sollen.
- Log-Objekte: Wählen Sie ein Log-Objekt aus, für das Logs abgerufen werden müssen.
- Log-Unterobjekt: Wählen Sie ein Log-Unterobjekt aus, für das Logs abgerufen werden müssen.
- Dienstname: Wählen Sie die API-Dienstnamen aus, für die Logs abgerufen werden sollen.
Klicken Sie auf Los. Die Liste der Header der Anwendungslogs wird angezeigt.
Klicken Sie auf einen Log-Header, um detaillierte Logs auf Elementebene aufzurufen. Die Logmeldungen werden mit Schweregrad und Zeitstempel 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.Fügen Sie der von Ihnen verwendeten Methode einen Haltepunkt hinzu und führen Sie dann das Programm aus.
HTTP-Trace
Während der Fehlerbehebung können Sie den HTTP-Aufruf-Trace in SAP Monitor-Netzwerkverbindungen prüfen. Weitere Informationen finden Sie auf der SAP-Seite Ausgehende Systemkommunikation im Allgemeinen überwachen.
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.
/GOOG/MSG: 503 - HTTP Communication Failure exception occurred during the request sending
Problem: Die HTTP-Anfrage an eine API-Methode ist fehlgeschlagen.
Ursache: Dieses Problem kann durch Verbindungsprobleme verursacht werden.
Lösung: Aktivieren Sie im Google Cloud-Projekt, von dem aus Sie auf die Google Cloud APIs zugreifen möchten, die Ziel-APIs. Informationen zum Aktivieren von Google Cloud APIs finden Sie unter APIs aktivieren.
/GOOG/MSG:400 - Error generating STS token:Bad Request-invalid_request-Invalid value for " audience". This value should be the full resource name of the Identity Provider. See https://cloud.google.com/iam/docs/reference/sts/rest/v1/TopLevel/token for the list of possible formats.
Problem: Sie können das STS-Token (Security Token Service) nicht generieren.
Ursache: Wenn Sie sich bei Google Cloud mit Tokens über Identitätsföderation von Arbeitslasten oder den in Secret Manager gespeicherten API-Schlüssel authentifizieren, fehlen Ihrer Authentifizierungseinrichtung die erforderlichen Konfigurationen.
Lösung: Prüfen und aktualisieren Sie die folgenden Details:
Aktualisieren Sie in der Anwendung Kommunikationsregelung die ID der Identitätsföderation von Arbeitslasten und die Anbieter-ID der Identitätsföderation von Arbeitslasten.
Aktualisieren Sie in der Anwendung Google SDK: Hauptkonfiguration für Ihre Kommunikationszuordnung die Google Cloud-Projekt-ID und die Google Cloud-Projektnummer für den Clientschlüssel.
Weitere Informationen finden Sie unter ABAP SDK for Google Cloud für die Verwendung von Identitätsföderation von Arbeitslasten konfigurieren.
/GOOG/MSG:400 - Error generating STS token:Bad Request-invalid_scope-Invalid scope provided in the request
Problem: Sie können sich nicht bei Google Cloud authentifizieren.
Ursache: Wenn Sie sich bei Google Cloud mit Tokens über Identitätsföderation von Arbeitslasten oder den in Secret Manager gespeicherten API-Schlüssel authentifizieren, ist der Google Cloud-Bereich: ungültig.
Lösung: Achten Sie in der App Google SDK: Hauptkonfiguration für Ihre Kommunikationskarte darauf, dass der Google Cloud-Bereich https://www.googleapis.com/auth/cloud-platform
ist.
/GOOG/MSG:461 - API Key not valid. Please pass a valid API Key
Problem: Sie können sich nicht mit der API-Schlüssel-basierten Authentifizierung bei Google Cloud authentifizieren.
Ursache: In der Kommunikationsvereinbarung wurde ein ungültiger API-Schlüssel angegeben.
Lösung: Behalten Sie einen gültigen Secret-Namen und eine gültige Secret-Version in der zugehörigen Kommunikationsvereinbarung bei, um dieses Problem zu beheben. Achten Sie außerdem darauf, dass im Secret ein gültiger API-Schlüssel konfiguriert ist.
Weitere Informationen finden Sie unter ABAP SDK for Google Cloud für die Verwendung des im Secret Manager gespeicherten API-Schlüssels konfigurieren.
/GOOG/MSG: 461 - Communication Map entry for authentication service not maintained
Problem: Das SDK kann die Kommunikationsartefakte für die Authentifizierung nicht ermitteln.
Ursache: Für den Authentifizierungsdienst wird keine Kommunikationszuordnung verwaltet.
Lösung: Erstellen Sie in der App Google SDK: Hauptkonfiguration eine Kommunikationskarte und verwenden Sie den richtigen Authentifizierungstyp für den Authentifizierungsmethode, die Sie verwenden.
Informationen zum Erstellen einer Kommunikationszuordnung finden Sie in der Anleitung für Authentifizierungsmethoden unter Authentifizierung für die SAP BTP Edition des ABAP SDK for Google Cloud konfigurieren.
/GOOG/MSG: 461 - Communication Scenario not valid for default Google Authentication
Problem: Das SDK kann die Kommunikationsvereinbarung für die Authentifizierung nicht ermitteln.
Ursache: Der für den Authentifizierungsdienst verwaltete Eintrag ist ungültig.
Lösung: Achten Sie darauf, dass für den Eintrag der Kommunikationskarte in der App Google SDK: Hauptkonfiguration die Kommunikationsanordnung mit dem richtigen Kommunikationsszenario und Kommunikationssystem konfiguriert ist.
Informationen zum Aktualisieren einer Kommunikationsvereinbarung finden Sie in der Anleitung für Authentifizierungsmethoden unter Authentifizierung für die SAP BTP-Edition des ABAP SDK for Google Cloud einrichten.
/GOOG/MSG:400 - Error generating IDP token: Not found
Problem: Sie können das Identitätsanbieter-Token nicht über den XSUAA-Dienst generieren.
Ursache: Wenn Sie sich bei Google Cloud mit Tokens über die Identitätsföderation von Arbeitslasten oder den in Secret Manager gespeicherten API-Schlüssel authentifizieren, ist entweder die Hostname-URL für den XSUAA-Dienst oder der Pfadwert im Kommunikationssystem ungültig.
Lösung: Prüfen und aktualisieren Sie die folgenden Details:
- Behalten Sie im Kommunikationssystem für den XSUAA-Dienst oder im BTP-Ziel, das im Kommunikationssystem verwendet wird, die richtige Hostname-URL bei.
- Behalten Sie in der Kommunikationsanordnung einen gültigen Pfad.
/GOOG/MSG:400 - Error generating STS token: Not found
Problem: Sie können das für die Authentifizierung erforderliche Security Token Service-Token nicht generieren.
Ursache: Wenn Sie sich bei Google Cloud mit Tokens über die Identitätsföderation von Arbeitslasten oder den in Secret Manager gespeicherten API-Schlüssel authentifizieren und eine Kommunikationsvereinbarung für den STS-Dienst verwenden ist das mit dem STS-Dienst verknüpfte Kommunikationssystem ungültig.
Lösung: Prüfen und aktualisieren Sie die folgenden Details:
- Achten Sie im Kommunikationssystem für den STS-Dienst oder im BTP-Ziel, das im Kommunikationssystem verwendet wird, auf die richtige Hostname-URL.
- Behalten Sie in der Kommunikationsanordnung einen gültigen Pfad.
/GOOG/MSG:400 - Error generating IAM token: Not found
Problem: Sie können das für die Authentifizierung erforderliche IAM-Token nicht generieren.
Ursache: Wenn Sie sich bei Google Cloud mit Tokens über die Identitätsföderation von Arbeitslasten oder den in Secret Manager gespeicherten API-Schlüssel authentifizieren und eine Kommunikationsvereinbarung für den IAM-Dienst verwenden ist die Kommunikationszuordnung und das Kommunikationssystem, die mit dem IAM-Dienst verknüpft sind, ungültig.
Lösung: Prüfen und aktualisieren Sie die folgenden Details:
- Achten Sie im Kommunikationssystem für den IAM-Dienst oder im BTP-Ziel, das im Kommunikationssystem verwendet wird, auf die richtige Hostname-URL.
- Behalten Sie in der Kommunikationsanordnung einen gültigen Pfad.
Fehler bei der Konfigurationsprüfung
G001 | Check communication scenario
Ursache: Das in der Kommunikationszuordnung konfigurierte Kommunikationsszenario wird mit der Standardautorisierungsklasse /GOOG/CL_AUTH_GOOGLE
nicht unterstützt.
Lösung: Wenn Sie /GOOG/CL_AUTH_GOOGLE
als Autorisierungsklasse verwenden, achten Sie darauf, dass in Ihrer Kommunikationszuordnung je nach Authentifizierungsmethode eines der folgenden Kommunikationsszenarios angegeben ist.
Kommunikationsszenario | Authentifizierung |
---|---|
/GOOG/COM_SDK_WIF |
Workload Identity-Föderation |
/GOOG/COM_SDK_APIKSM |
API-Schlüssel mit Secret Manager |
Informationen zum Aktualisieren einer Kommunikationszuordnung finden Sie in der Anleitung für Authentifizierungsmethoden unter Authentifizierung für die SAP BTP Edition des ABAP SDK for Google Cloud einrichten.
W001 | Check Comm. arrangement for WIF
Ursache: Die Kommunikationsanordnung kann nicht mit dem Kommunikationsszenario und dem Kommunikationssystem identifiziert werden, die in der App Google SDK: Hauptkonfiguration angegeben sind.
Lösung: Achten Sie darauf, dass die Kommunikationskonfiguration für den Authentifizierungsdienst ein gültiges Kommunikationsszenario und ein gültiges Kommunikationssystem verwendet.
Weitere Informationen finden Sie unter ABAP SDK for Google Cloud für die Verwendung von Identitätsföderation von Arbeitslasten konfigurieren.
W002 | Fetch XSUAA token
Ursache: Der Abruf des XSUAA-Tokens ist fehlgeschlagen.
Lösung: Achten Sie darauf, dass die XSUAA-Dienstinstanz ordnungsgemäß konfiguriert ist.
Weitere Informationen finden Sie unter XSUAA-Dienstinstanz (Authorization and Trust) erstellen.
W003 | Fetch WIF Pool ID
Ursache: Die Pool-ID des Identitätsföderation von Arbeitslasten ist in der Kommunikationsvereinbarung nicht vorhanden.
Lösung: Achten Sie darauf, dass in der für den Authentifizierungsdienst verwendeten Kommunikationsart das Kommunikationsszenario /GOOG/COM_SDK_WIF
verwendet wird und eine gültige Pool-ID der Identitätsföderation von Arbeitslasten angegeben ist.
Weitere Informationen finden Sie unter ABAP SDK for Google Cloud für die Verwendung von Identitätsföderation von Arbeitslasten konfigurieren.
W004 | Fetch WIF Provider ID
Ursache: Die Anbieter-ID der Identitätsföderation von Arbeitslasten ist nicht in der Kommunikationsvereinbarung vorhanden.
Lösung: Achten Sie darauf, dass in der für den Authentifizierungsdienst verwendeten Kommunikationsvereinbarung das Kommunikationsszenario /GOOG/COM_SDK_WIF
verwendet und eine gültige Anbieter-ID der Identitätsföderation von Arbeitslasten angegeben ist.
Weitere Informationen finden Sie unter ABAP SDK for Google Cloud für die Verwendung von Identitätsföderation von Arbeitslasten konfigurieren.
W005 | Fetch STS token
Ursache: Der Abruf des STS-Tokens ist fehlgeschlagen.
Lösung: So beheben Sie das Problem:
- Prüfen Sie in der Kommunikationszuordnung, ob die Google Cloud-Projektnummer korrekt verwaltet wird. Weitere Informationen finden Sie unter ABAP SDK for Google Cloud für die Verwendung von Identitätsföderation von Arbeitslasten konfigurieren.
- Achten Sie darauf, dass die Pool-ID der Identitätsföderation von Arbeitslasten und die Anbieter-ID gültig sind und in der für den Authentifizierungsdienst verwendeten Kommunikation ordnungsgemäß verwaltet werden. Weitere Informationen finden Sie unter ABAP SDK for Google Cloud für die Verwendung von Identitätsföderation von Arbeitslasten konfigurieren.
- Wenn in der Kommunikationszuordnung ein Eintrag für den Dienst
sts:v1
verwaltet wird, achten Sie darauf, dass die verwaltete Kommunikationsvereinbarung gültig ist, im System verfügbar ist und dasselbe Kommunikationsszenario verwendet und Kommunikationssystem, wie es in der SDK-Konfigurations-App verwaltet wird.
W006 | Fetch IAM credential token
Ursache: Der Abruf des IAM-Tokens ist von der IAM Credentials API fehlgeschlagen.
Lösung: So beheben Sie das Problem:
- Prüfen Sie in der Kommunikationszuordnung, ob die Google Cloud-Projektnummer korrekt verwaltet wird. Weitere Informationen finden Sie unter ABAP SDK for Google Cloud für die Verwendung von Identitätsföderation von Arbeitslasten konfigurieren.
- Wenn in der Kommunikationszuordnung ein Eintrag für den
iamcredentials:v1
-Dienst verwaltet wird, achten Sie darauf, dass die verwaltete Kommunikationsvereinbarung gültig und im System verfügbar ist und dasselbe Kommunikationsszenario verwendet und Kommunikationssystem, wie in der SDK-Konfigurations-App angegeben.
V001 | Check Comm. Arr. for API Key(SM)
Ursache: Die Kommunikationsvereinbarung kann nicht mit dem Kommunikationsszenario und dem Kommunikationssystem identifiziert werden, die in der App Google SDK: Hauptkonfiguration angegeben sind.
Lösung: Achten Sie darauf, dass die für den Authentifizierungsdienst verwaltete Kommunikationskonfiguration gültig und im System verfügbar ist und dasselbe Kommunikationsszenario und dasselbe Kommunikationssystem wie in der SDK-Konfigurations-App verwendet wird.
Weitere Informationen finden Sie unter ABAP SDK for Google Cloud für die Verwendung des API-Schlüssels aus Secret Manager konfigurieren.
V002 | Fetch Secret Name
Ursache: Der Secret-Name ist in der Kommunikationsanordnung nicht vorhanden.
Lösung: Achten Sie darauf, dass in der für den Authentifizierungsdienst verwendeten Kommunikationsvereinbarung das Kommunikationsszenario /GOOG/COM_SDK_APIKSM
verwendet und ein gültiges Secret angegeben wird.
Weitere Informationen finden Sie unter ABAP SDK for Google Cloud für die Verwendung des API-Schlüssels aus Secret Manager konfigurieren.
V003 | Fetch Secret Version
Ursache: Das Attribut Secret-Version enthält keinen gültigen Wert in der Kommunikationsanordnung.
Lösung: Achten Sie darauf, dass in der für den Authentifizierungsdienst verwendeten Kommunikationsvereinbarung das Kommunikationsszenario /GOOG/COM_SDK_APIKSM
verwendet und eine gültige Secret-Version angegeben wird.
Weitere Informationen finden Sie unter ABAP SDK for Google Cloud für die Verwendung des API-Schlüssels aus Secret Manager konfigurieren.
V004 | Fetch Token from Secret Manager
Ursache: Die Secret Manager API konnte das Secret, das den API-Schlüssel enthält, nicht abrufen.
Lösung: So beheben Sie das Problem:
- Prüfen Sie, ob das Dienstkonto die erforderlichen Berechtigungen für den Zugriff auf das Secret hat. Weitere Informationen finden Sie unter Authentifizierung mit einem in Secret Manager gespeicherten API-Schlüssel.
- Prüfen Sie, ob die Google Cloud-Projekt-ID in der für den Authentifizierungsdienst verwendeten Kommunikationsvereinbarung korrekt verwaltet wird. Weitere Informationen finden Sie unter ABAP SDK for Google Cloud für die Verwendung des API-Schlüssels aus Secret Manager konfigurieren.
- Achten Sie darauf, dass die Pool-ID der Identitätsföderation von Arbeitslasten und die Anbieter-ID gültig sind und in der für den Authentifizierungsdienst verwendeten Kommunikation ordnungsgemäß verwaltet werden. Weitere Informationen finden Sie unter ABAP SDK for Google Cloud für die Verwendung des API-Schlüssels aus Secret Manager konfigurieren.
- Achten Sie darauf, dass der Secret-Name und die Secret-Version (falls verwaltet) gültig sind und in der Kommunikationsvereinbarung korrekt verwaltet werden. Weitere Informationen finden Sie unter ABAP SDK for Google Cloud für die Verwendung des API-Schlüssels aus Secret Manager konfigurieren.
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 von der API zurückgegebenen 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
)
Für Fehler, die von APIs zurückgegeben werden, empfehlen wir Ihnen, die öffentliche Dokumentation der entsprechenden APIs zu lesen.
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 der SAP BTP-Version des ABAP SDK for Google Cloud benötigen, erfassen Sie alle verfügbaren Diagnoseinformationen und wenden Sie sich an Cloud Customer Care.
Informationen zur Kontaktaufnahme mit Cloud Customer Care finden Sie unter Support für SAP in Google Cloud.