Per risolvere i problemi relativi alla versione SAP BTP dell'SDK ABAP per Google Cloud, il primo passo consiste nel capire da dove può provenire. Il problema potrebbe riguardare la tua infrastruttura, l'ambiente SAP BTP e gli strumenti che stai utilizzando o l'SDK ABAP per Google Cloud.
Se la tua analisi rimanda a un problema con l'SDK ABAP per Google Cloud, risolvi i problemi utilizzando i log e i messaggi di errore delle applicazioni SAP.
Se ritieni che il problema sia all'interno dell'ambiente o degli strumenti SAP, contatta SAP per ricevere assistenza.
Controlla i prerequisiti
Assicurati che siano soddisfatti tutti i prerequisiti per l'installazione della versione SAP BTP dell'SDK ABAP per Google Cloud. Per informazioni sui prerequisiti di installazione dell'SDK, vedi Prima di iniziare.
Leggi la documentazione di assistenza SAP
Se disponi di un account utente SAP, puoi trovare la soluzione a molti problemi relativi al software SAP leggendo le note su SAP e gli articoli della knowledge base SAP disponibili in SAP ONE Support Launchpad.
visualizza i log
Quando il logging è configurato, la versione SAP BTP dell'SDK ABAP per Google Cloud registra i messaggi di errore nei log delle applicazioni SAP. Per ulteriori informazioni sul logging, consulta Configurare il logging.
Per visualizzare i messaggi di log:
- Accedi al Launchpad SAP Fiori del sistema BTP ABAP in cui è installato l'SDK ABAP per Google Cloud.
- Apri l'app Google SDK: Display log delle applicazioni.
Fornisci i filtri di log appropriati:
- Da: seleziona una data di inizio da cui filtrare i log.
- A: seleziona una data di fine a cui filtrare i log.
- Oggetti di log: seleziona un oggetto di log per il quale devono essere recuperati i log.
- Oggetto secondario log: seleziona un oggetto secondario di log per il quale devono essere recuperati i log.
- Nome servizio: seleziona i nomi dei servizi API in base ai quali recuperare i log.
Fai clic su Go (Vai). Viene visualizzato l'elenco di intestazioni dei log dell'applicazione.
Fai clic sull'intestazione di un log per accedere ai log dettagliati a livello di articolo. I messaggi di log vengono visualizzati con gravità e timestamp.
In genere un messaggio di log è costituito dalle due voci seguenti:
- Inserendo: fornisce informazioni sulla posizione del codice in cui si è verificato esattamente l'errore. Per la risoluzione dei problemi, puoi utilizzare questa posizione del codice come punto di interruzione durante il debug.
- Messaggio di errore: fornisce informazioni su un errore che si è verificato durante l'esecuzione di un'operazione.
Debug
Se disponi dell'autorizzazione richiesta, puoi eseguire il debug delle classi del client API.
Per eseguire il debug delle classi del client API, utilizza una delle seguenti opzioni:
Aggiungi un punto di interruzione al costruttore della classe
/GOOG/CL_HTTP_CLIENT
, quindi esegui il programma.Aggiungi un punto di interruzione al metodo che stai utilizzando ed esegui il programma.
Traccia HTTP
Durante la risoluzione degli errori, puoi controllare la traccia della chiamata HTTP nelle connessioni in uscita del sistema di SAP Monitor System. Per ulteriori informazioni, consulta la pagina SAP Monitoring System Outbound Communication in General.
Problemi operativi comuni
Durante l'utilizzo delle API Google Cloud con i metodi pubblici dello stub del client, gli sviluppatori potrebbero riscontrare errori ed eccezioni. Questi errori e queste eccezioni sono generalmente classificati in due categorie:
- Errori ed eccezioni attivati dall'SDK ABAP per Google Cloud
- Errori restituiti dalle API Google Cloud
Questa sezione riguarda gli errori e le eccezioni attivati dall'SDK.
/GOOG/MSG: 503 - HTTP Communication Failure exception occurred during the request sending
Problema: la richiesta HTTP a un metodo API non è riuscita.
Causa: questo problema può essere causato da problemi di connettività.
Soluzione: nel progetto Google Cloud da cui stai tentando di accedere alle API Google Cloud, abilita le API di destinazione. Per informazioni su come abilitare le API Google Cloud, consulta Abilitazione delle API.
/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.
Problema: non è possibile generare il token STS (Security Token Service).
Causa: quando esegui l'autenticazione in Google Cloud utilizzando token tramite la federazione delle identità per i carichi di lavoro o la chiave API archiviata in Secret Manager, nella configurazione di autenticazione mancano le configurazioni necessarie.
Soluzione: verifica e aggiorna i seguenti dettagli:
Nell'app Communication Arrangement, aggiorna l'ID pool federazione delle identità per i carichi di lavoro e l'ID provider della federazione delle identità per i carichi di lavoro.
Nell'app Google SDK: Main Configuration, per la mappa delle comunicazioni, aggiorna l'ID e il numero del progetto Google Cloud per la chiave client.
Per ulteriori informazioni, consulta Configurare l'SDK ABAP per Google Cloud per utilizzare la federazione delle identità per i carichi di lavoro.
/GOOG/MSG:400 - Error generating STS token:Bad Request-invalid_scope-Invalid scope provided in the request
Problema: non è possibile eseguire l'autenticazione in Google Cloud.
Causa: quando esegui l'autenticazione in Google Cloud utilizzando token tramite la federazione delle identità per i carichi di lavoro o la chiave API archiviata in Secret Manager, l'ambito di Google Cloud non è valido.
Soluzione: nell'app SDK Google: configurazione principale, per la mappa delle comunicazioni assicurati che l'ambito di Google Cloud sia https://www.googleapis.com/auth/cloud-platform
.
/GOOG/MSG:461 - API Key not valid. Please pass a valid API Key
Problema: non è possibile eseguire l'autenticazione in Google Cloud utilizzando l'autenticazione basata su chiave API.
Causa: nell'accordo di comunicazione viene fornita una chiave API non valida.
Soluzione: per risolvere il problema, mantieni un nome e una versione del secret validi nell'accordo di comunicazione associato. Inoltre, assicurati che nel secret sia configurata una chiave API valida.
Per maggiori informazioni, consulta Configurare l'SDK ABAP per Google Cloud per utilizzare la chiave API archiviata in Secret Manager
/GOOG/MSG: 461 - Communication Map entry for authentication service not maintained
Problema: l'SDK non è in grado di determinare gli artefatti di comunicazione per l'autenticazione.
Causa: non è stata gestita alcuna mappa di comunicazione per il servizio di autenticazione.
Soluzione: nell'app SDK Google: configurazione principale, crea una mappa delle comunicazioni e mantieni il Tipo di autenticazione corretto per il metodo di autenticazione in uso.
Per creare una mappa di comunicazione, consulta le istruzioni per i metodi di autenticazione in Configurare l'autenticazione per la versione SAP BTP dell'SDK ABAP per Google Cloud.
/GOOG/MSG: 461 - Communication Scenario not valid for default Google Authentication
Problema: l'SDK non riesce a determinare l'accordo di comunicazione per l'autenticazione.
Causa: la voce gestita per il servizio di autenticazione non è valida.
Soluzione: nell'app SDK Google: configurazione principale, per la voce della mappa delle comunicazioni, assicurati che l'accordo di comunicazione sia configurato con uno scenario di comunicazione e un sistema di comunicazione corretti.
Per aggiornare un accordo di comunicazione, consulta le istruzioni per i metodi di autenticazione in Configurare l'autenticazione per la versione SAP BTP dell'SDK ABAP per Google Cloud.
/GOOG/MSG:400 - Error generating IDP token: Not found
Problema: non è possibile generare il token del provider di identità dal servizio XSUAA.
Causa: quando esegui l'autenticazione in Google Cloud utilizzando token tramite Workload Identity Federation o la chiave API archiviata in Secret Manager, l'URL del nome host per il servizio XSUAA o il valore del percorso non sono validi nel sistema di comunicazione.
Soluzione: verifica e aggiorna i seguenti dettagli:
- Nel sistema di comunicazione per il servizio XSUAA o nella destinazione BTP utilizzata nel sistema di comunicazione, mantieni l'URL del nome host corretto.
- Nell'accordo di comunicazione, mantieni un percorso valido.
/GOOG/MSG:400 - Error generating STS token: Not found
Problema: non è possibile generare il token del servizio token di sicurezza richiesto per l'autenticazione.
Causa: quando esegui l'autenticazione in Google Cloud utilizzando token tramite la federazione delle identità per i carichi di lavoro o la chiave API archiviata in Secret Manager e utilizzi un accordo di comunicazione per il servizio STS, il sistema di comunicazione associato al servizio STS non è valido.
Soluzione: verifica e aggiorna i seguenti dettagli:
- Mantieni l'URL del nome host corretto nel sistema di comunicazione per il servizio STS o nella destinazione BTP utilizzata nel sistema di comunicazione.
- Nell'accordo di comunicazione, mantieni un percorso valido.
/GOOG/MSG:400 - Error generating IAM token: Not found
Problema: non è possibile generare il token IAM richiesto per l'autenticazione.
Causa: quando esegui l'autenticazione in Google Cloud utilizzando token tramite la federazione delle identità per i carichi di lavoro o la chiave API archiviata in Secret Manager e utilizzi un accordo di comunicazione per il servizio IAM, la mappa di comunicazione e il sistema di comunicazione associati al servizio IAM non sono validi.
Soluzione: verifica e aggiorna i seguenti dettagli:
- Nel sistema di comunicazione per il servizio IAM o nella destinazione BTP utilizzata nel sistema di comunicazione, mantieni l'URL del nome host corretto.
- Nell'accordo di comunicazione, mantieni un percorso valido.
Errori di convalida della configurazione
G001 | Check communication scenario
Causa: lo scenario di comunicazione configurato nella mappa delle comunicazioni non è supportato con la classe di autorizzazione predefinita /GOOG/CL_AUTH_GOOGLE
.
Soluzione: se utilizzi /GOOG/CL_AUTH_GOOGLE
come classe di autorizzazione,
assicurati che nella mappa delle comunicazioni sia specificato uno dei seguenti scenari di comunicazione in base al metodo di autenticazione:
Scenario di comunicazione | Autenticazione |
---|---|
/GOOG/COM_SDK_WIF |
Federazione delle identità per i carichi di lavoro |
/GOOG/COM_SDK_APIKSM |
Chiave API mediante Secret Manager |
Per aggiornare una mappa delle comunicazioni, consulta le istruzioni per i metodi di autenticazione in Configurare l'autenticazione per la versione SAP BTP dell'SDK ABAP per Google Cloud.
W001 | Check Comm. arrangement for WIF
Causa: non è possibile identificare l'accordo di comunicazione utilizzando lo scenario di comunicazione e il sistema di comunicazione specificati nell'app SDK Google: configurazione principale.
Soluzione: assicurati che l'accordo di comunicazione per il servizio di autenticazione utilizzi uno scenario di comunicazione e un sistema di comunicazione validi.
Per ulteriori informazioni, consulta Configurare l'SDK ABAP per Google Cloud per utilizzare la federazione delle identità per i carichi di lavoro.
W002 | Fetch XSUAA token
Causa: recupero del token XSUAA non riuscito.
Soluzione: assicurati che l'istanza del servizio XSUAA sia configurata correttamente.
Per ulteriori informazioni, consulta Creare un'istanza di servizio Authorization and Trust (XSUAA).
W003 | Fetch WIF Pool ID
Causa: l'ID pool federazione di Workload Identity non esiste nell'accordo di comunicazione.
Soluzione: nell'accordo di comunicazione utilizzato per il servizio di autenticazione, assicurati che venga utilizzato lo scenario di comunicazione /GOOG/COM_SDK_WIF
e che sia specificato un ID pool di federazione delle identità per i carichi di lavoro valido.
Per ulteriori informazioni, consulta Configurare l'SDK ABAP per Google Cloud per utilizzare la federazione delle identità per i carichi di lavoro.
W004 | Fetch WIF Provider ID
Causa: l'ID provider federazione delle identità per i carichi di lavoro non esiste nell'accordo di comunicazione.
Soluzione: nell'accordo di comunicazione utilizzato per il servizio di autenticazione, assicurati che venga utilizzato lo scenario di comunicazione /GOOG/COM_SDK_WIF
e che sia specificato un ID provider della federazione delle identità per i carichi di lavoro valido.
Per ulteriori informazioni, consulta Configurare l'SDK ABAP per Google Cloud per utilizzare la federazione delle identità per i carichi di lavoro.
W005 | Fetch STS token
Causa: il recupero del token STS non è riuscito.
Soluzione: per risolvere il problema, procedi nel seguente modo:
- Nella mappa delle comunicazioni, controlla se il numero di progetto Google Cloud è gestito correttamente. Per ulteriori informazioni, consulta Configurare l'SDK ABAP per Google Cloud per utilizzare la federazione delle identità per i carichi di lavoro.
- Assicurati che l'ID del pool federazione di Workload Identity e l'ID provider siano validi e gestiti correttamente nell'accordo di comunicazione utilizzato per il servizio di autenticazione. Per ulteriori informazioni, consulta Configurare l'SDK ABAP per Google Cloud per utilizzare la federazione delle identità per i carichi di lavoro.
- Nella mappa delle comunicazioni, se viene gestita una voce per il servizio
sts:v1
, assicurati che l'accordo di comunicazione mantenuto sia valido, disponibile nel sistema e utilizzi lo stesso scenario di comunicazione e lo stesso sistema di comunicazione gestiti nell'app di configurazione dell'SDK.
W006 | Fetch IAM credential token
Causa: il recupero del token IAM non è riuscito dall'API IAM Credentials.
Soluzione: per risolvere il problema, procedi nel seguente modo:
- Nella mappa delle comunicazioni, controlla se il numero di progetto Google Cloud è gestito correttamente. Per ulteriori informazioni, consulta Configurare l'SDK ABAP per Google Cloud per utilizzare la federazione delle identità per i carichi di lavoro.
- Nella mappa delle comunicazioni, se viene gestita una voce per il servizio
iamcredentials:v1
, assicurati che l'accordo di comunicazione mantenuto sia valido, disponibile nel sistema e utilizzi lo stesso scenario di comunicazione e lo stesso sistema di comunicazione specificato nell'app di configurazione dell'SDK.
V001 | Check Comm. Arr. for API Key(SM)
Causa: non è possibile identificare l'accordo di comunicazione utilizzando lo scenario di comunicazione e il sistema di comunicazione specificati nell'app SDK Google: configurazione principale.
Soluzione: assicurati che l'accordo di comunicazione mantenuto per il servizio di autenticazione sia valido, disponibile nel sistema e utilizzi lo stesso scenario di comunicazione e lo stesso sistema di comunicazione gestiti nell'app di configurazione SDK.
Per saperne di più, consulta Configurare l'SDK ABAP per Google Cloud per utilizzare la chiave API di Secret Manager.
V002 | Fetch Secret Name
Causa: il nome del secret non esiste nell'accordo di comunicazione.
Soluzione: nell'accordo di comunicazione utilizzato
per il servizio di autenticazione, assicurati che venga utilizzato lo scenario di comunicazione
/GOOG/COM_SDK_APIKSM
e che sia specificato un secret valido.
Per saperne di più, consulta Configurare l'SDK ABAP per Google Cloud per utilizzare la chiave API di Secret Manager.
V003 | Fetch Secret Version
Causa: la proprietà Versione secret non contiene un valore valido nell'accordo di comunicazione.
Soluzione: nell'accordo di comunicazione utilizzato
per il servizio di autenticazione, assicurati che venga utilizzato lo scenario di comunicazione
/GOOG/COM_SDK_APIKSM
e che sia specificata una versione del secret valida.
Per saperne di più, consulta Configurare l'SDK ABAP per Google Cloud per utilizzare la chiave API di Secret Manager.
V004 | Fetch Token from Secret Manager
Causa: l'API Secret Manager non è riuscita a recuperare il secret contenente la chiave API.
Soluzione: per risolvere il problema, procedi nel seguente modo:
- Verifica se l'account di servizio dispone delle autorizzazioni necessarie per accedere al secret. Per maggiori informazioni, consulta Autenticazione tramite la chiave API archiviata in Secret Manager.
- Verifica che l'identificatore del progetto Google Cloud sia gestito correttamente nell'accordo di comunicazione utilizzato per il servizio di autenticazione. Per saperne di più, consulta Configurare l'SDK ABAP per Google Cloud per utilizzare la chiave API di Secret Manager.
- Assicurati che l'ID del pool federazione di Workload Identity e l'ID provider siano validi e gestiti correttamente nell'accordo di comunicazione utilizzato per il servizio di autenticazione. Per saperne di più, consulta Configurare l'SDK ABAP per Google Cloud per utilizzare la chiave API di Secret Manager.
- Assicurati che il nome del secret e la versione del secret (se gestita) siano validi e gestiti correttamente nell'accordo di comunicazione. Per saperne di più, consulta Configurare l'SDK ABAP per Google Cloud per utilizzare la chiave API di Secret Manager.
Messaggi di errore restituiti dalle API Google Cloud
Ogni stub del client API include i parametri di esportazione che forniscono il codice restituito e i messaggi di errore dell'API.
ev_ret_code
contiene i codici di stato HTTP. Nel caso di un errore restituito da un'API, questo parametro contiene il valore4XX
.ev_err_resp
contiene la categoria e il messaggio di errore restituiti da un'API.
L'esempio seguente mostra un errore restituito dall'API quando crei un nuovo argomento Pub/Sub con un nome di argomento già esistente.
ERROR_TEXT
: conflittoERROR_DESCRIPTION
: la risorsa esiste già nel progetto (resource=SAMPLE_TOPIC_01
)
Per gli errori restituiti dalle API, ti consigliamo di consultare la documentazione pubblica delle API corrispondenti.
Ricevi assistenza dalla community
Poni le tue domande e discuti dell'SDK ABAP per Google Cloud con la community dei forum di Cloud.
Richiedi assistenza
Se hai bisogno di aiuto per risolvere i problemi relativi alla versione SAP BTP dell'SDK ABAP per Google Cloud, raccogli tutte le informazioni di diagnostica disponibili e contatta l'assistenza clienti Google Cloud.
Per informazioni su come contattare l'assistenza clienti Google Cloud, consulta Ottenere assistenza per SAP su Google Cloud.