Per risolvere i problemi relativi all'edizione SAP BTP dell'SDK ABAP per Google Cloud, il primo passo consiste nel capire da dove potrebbe provenire. Il problema potrebbe essere correlato alla tua infrastruttura, all'ambiente SAP BTP e agli strumenti che stai utilizzando o allo stesso SDK ABAP per Google Cloud.
Se l'analisi punta 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 si trovi nel tuo ambiente o nei tuoi strumenti SAP, contatta SAP per ricevere assistenza.
Controlla i prerequisiti
Assicurati che tutti i prerequisiti per l'installazione della versione SAP BTP dell'SDK ABAP per Google Cloud siano soddisfatti. Per informazioni sui prerequisiti di installazione degli SDK, consulta Prima di iniziare.
Leggi la documentazione di assistenza SAP
Se hai 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 di SAP disponibili nel lancio dell'assistenza SAP ONE.
Visualizza i log
Quando il logging è configurato, l'edizione SAP BTP di ABAP SDK for 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, segui questi passaggi:
- Accedi al Launchpad SAP Fiori del sistema BTP ABAP dove è installato l'SDK ABAP per Google Cloud.
- Apri l'app SDK Google: visualizzazione dei log dell'applicazione.
Fornisci i filtri di log appropriati:
- Da: seleziona una data di inizio da cui filtrare i log.
- A: seleziona una data di fine alla quale filtrare i log.
- Oggetti dei log: seleziona un oggetto di log per il quale devono essere recuperati i log.
- Oggetto secondario dei log: seleziona un oggetto secondario dei 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 delle intestazioni dei log delle applicazioni.
Fai clic sull'intestazione di un log per accedere ai log dettagliati a livello di articolo. I messaggi di log vengono visualizzati con la gravità e il timestamp.
In genere, un messaggio di log è costituito dalle seguenti due voci:
- In entrata: 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 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 in uso, quindi esegui il programma.
Traccia HTTP
Durante la risoluzione degli errori, puoi controllare la traccia della chiamata HTTP in SAP Monitor System Outbound Connections. Per ulteriori informazioni, consulta la pagina SAP Monitoring System Outbound Communication in General.
Problemi operativi comuni
Quando utilizzano le API Google Cloud tramite i metodi pubblici di stub client, gli sviluppatori potrebbero riscontrare errori ed eccezioni. Questi errori e le 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 illustra gli errori e le eccezioni attivate 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à.
Risoluzione: 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 i token tramite Workload Identity Federation o la chiave API archiviata in Secret Manager, nella configurazione dell'autenticazione mancano le configurazioni necessarie.
Soluzione: verifica e aggiorna i seguenti dettagli:
Nell'app Comunication Arrangement, aggiorna l'ID del pool di federazione delle identità per i carichi di lavoro e l'ID del provider della federazione di Workload Identity.
Nell'app Google SDK: configurazione principale, per la mappa di comunicazione, aggiorna l'ID progetto Google Cloud e il numero di progetto Google Cloud per la chiave client.
Per ulteriori informazioni, consulta Configurare l'SDK ABAP per Google Cloud per l'utilizzo della federazione di Workload Identity.
/GOOG/MSG:400 - Error generating STS token:Bad Request-invalid_scope-Invalid scope provided in the request
Problema: non è possibile autenticarsi a Google Cloud.
Causa: se esegui l'autenticazione in Google Cloud utilizzando i token tramite Workload Identity Federation o la chiave API archiviata in Secret Manager, l'ambito di Google Cloud non è valido.
Risoluzione: nell'app Google SDK: configurazione principale per la mappa di comunicazione, 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 sei in grado di 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 l'utilizzo delle chiavi API archiviate 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 viene gestita alcuna mappa di comunicazione per il servizio di autenticazione.
Soluzione: nell'app SDK Google: configurazione principale, crea una mappa di comunicazione e gestisci il tipo di autenticazione corretto per il metodo di autenticazione utilizzato.
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 è in grado di determinare la modalità di comunicazione per l'autenticazione.
Causa: la voce gestita per il servizio di autenticazione non è valida.
Soluzione: nell'app SDK di Google: configurazione principale, per la voce della mappa di comunicazione, assicurati che l'accordo di comunicazione sia configurato con uno scenario di comunicazione e uno scenario di comunicazione corretti.
Per aggiornare un accordo di comunicazione, consulta le istruzioni per i metodi di autenticazione in Configurare l'autenticazione per l'edizione SAP BTP di ABAP SDK per Google Cloud.
/GOOG/MSG:400 - Error generating IDP token: Not found
Problema: non puoi generare il token del provider di identità dal servizio XSUAA.
Causa: quando esegui l'autenticazione in Google Cloud utilizzando i 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 di servizio token di sicurezza richiesto per l'autenticazione.
Causa: se esegui l'autenticazione in Google Cloud utilizzando i token tramite Workload Identity Federation o la chiave API archiviata in Secret Manager, se 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:
- Nel sistema di comunicazione per il servizio STS o nella destinazione BTP utilizzata al suo interno, mantieni l'URL del nome host corretto.
- 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: se esegui l'autenticazione in Google Cloud utilizzando i token tramite Workload Identity Federation o la chiave API archiviata in Secret Manager, se 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 di comunicazione 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 uno dei seguenti scenari di comunicazione sia specificato nella mappa 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 con Secret Manager |
Per aggiornare una mappa di comunicazione, consulta le istruzioni per i metodi di autenticazione in Configurare l'autenticazione per l'edizione SAP BTP di ABAP SDK 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 di Google: configurazione principale.
Soluzione: assicurati che la disposizione 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 l'utilizzo della federazione di Workload Identity.
W002 | Fetch XSUAA token
Causa: il recupero del token XSUAA non è riuscito.
Soluzione: assicurati che l'istanza del servizio XSUAA sia configurata correttamente.
Per ulteriori informazioni, consulta Creare un'istanza del servizio XSUAA (Authorization and Trust).
W003 | Fetch WIF Pool ID
Causa: l'ID pool di 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 l'utilizzo della federazione di Workload Identity.
W004 | Fetch WIF Provider ID
Causa: l'ID provider della 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 provider della federazione delle identità per i carichi di lavoro valido.
Per ulteriori informazioni, consulta Configurare l'SDK ABAP per Google Cloud per l'utilizzo della federazione di Workload Identity.
W005 | Fetch STS token
Causa: il recupero del token STS non è riuscito.
Soluzione: per risolvere il problema, esegui le seguenti operazioni:
- Nella mappa della comunicazione, controlla se il numero di progetto Google Cloud è stato gestito correttamente. Per ulteriori informazioni, consulta Configurare l'SDK ABAP per Google Cloud per l'utilizzo della federazione di Workload Identity.
- Assicurati che l'ID pool della 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 l'utilizzo della federazione di Workload Identity.
- Nella mappa di comunicazione, se viene mantenuta una voce per il servizio
sts:v1
, assicurati che la disposizione di comunicazione mantenuta sia valida, disponibile nel sistema e utilizzi lo stesso scenario di comunicazione e lo stesso sistema di comunicazione presenti 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, esegui le seguenti operazioni:
- Nella mappa della comunicazione, controlla se il numero di progetto Google Cloud è stato gestito correttamente. Per ulteriori informazioni, consulta Configurare l'SDK ABAP per Google Cloud per l'utilizzo della federazione di Workload Identity.
- Nella mappa di comunicazione, se viene mantenuta una voce per il servizio
iamcredentials:v1
, assicurati che l'accordo di comunicazione mantenuto sia valido, disponibile nel sistema e che utilizzi lo stesso scenario di comunicazione e lo stesso sistema di comunicazione specificati 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 Google SDK: Main Configuration.
Soluzione: assicurati che l'accordo di comunicazione mantenuto per il servizio di autenticazione sia valido, disponibile nel sistema e che utilizzi lo stesso scenario di comunicazione e sistema di comunicazione mantenuto nell'app di configurazione dell'SDK.
Per maggiori informazioni, consulta Configurare l'SDK ABAP per Google Cloud per l'utilizzo della 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 maggiori informazioni, consulta Configurare l'SDK ABAP per Google Cloud per l'utilizzo della 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 valida del secret.
Per maggiori informazioni, consulta Configurare l'SDK ABAP per Google Cloud per l'utilizzo della 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, esegui le seguenti operazioni:
- Controlla se l'account di servizio dispone delle autorizzazioni necessarie per accedere al secret. Per ulteriori informazioni, consulta la sezione Autenticazione mediante chiave API archiviata in Secret Manager.
- Verifica che l'identificatore del progetto Google Cloud sia mantenuto correttamente nell'accordo di comunicazione utilizzato per il servizio di autenticazione. Per maggiori informazioni, consulta Configurare l'SDK ABAP per Google Cloud per l'utilizzo della chiave API di Secret Manager.
- Assicurati che l'ID pool di federazione di Workload Identity e l'ID provider siano validi e correttamente mantenuti nell'accordo di comunicazione utilizzato per il servizio di autenticazione. Per maggiori informazioni, consulta Configurare l'SDK ABAP per Google Cloud per l'utilizzo della chiave API di Secret Manager.
- Assicurati che il nome e la versione del secret (se gestita) siano validi e mantenuti correttamente nell'accordo di comunicazione. Per maggiori informazioni, consulta Configurare l'SDK ABAP per Google Cloud per l'utilizzo della chiave API di Secret Manager.
Messaggi di errore restituiti dalle API Google Cloud
Ogni stub client API dispone dei parametri di esportazione che forniscono il codice di ritorno dell'API e i messaggi di errore.
ev_ret_code
contiene i codici di stato HTTP. In caso di 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 dell'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 l'SDK ABAP per Google Cloud con la community sui forum Cloud.
Richiedere assistenza
Se hai bisogno di aiuto per risolvere problemi con l'edizione 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 Assistenza per SAP su Google Cloud.