Résoudre les problèmes liés à l'édition SAP BTP du SDK ABAP pour Google Cloud

Pour résoudre les problèmes liés à l'édition SAP BTP du SDK ABAP pour Google Cloud, la première étape consiste à déterminer l'origine du problème. Le problème peut être lié à votre infrastructure, à l'environnement et aux outils SAP BTP que vous utilisez, ou au SDK ABAP pour Google Cloud lui-même.

Si votre analyse pointe vers un problème lié au SDK ABAP pour Google Cloud, résolvez les problèmes à l'aide des journaux d'application et des messages d'erreur SAP.

Si vous pensez que le problème provient de votre environnement ou de vos outils SAP, contactez SAP pour obtenir de l'aide.

Vérifier les conditions préalables

Assurez-vous que toutes les conditions préalables à l'installation de l'édition SAP BTP du SDK ABAP pour Google Cloud sont remplies. Pour en savoir plus sur les conditions préalables à l'installation du SDK, consultez la section Avant de commencer.

Lire la documentation d'assistance SAP

Si vous disposez d'un compte utilisateur SAP, vous trouverez la résolution de nombreux problèmes logiciels SAP en lisant les notes SAP et les articles de la base de connaissances SAP disponibles sur le tremplin de lancement de l'assistance SAP ONE.

Voir les journaux

Lorsque la journalisation est configurée, l'édition SAP BTP du SDK ABAP pour Google Cloud consigne les messages d'erreur dans les journaux d'application SAP. Pour en savoir plus sur la journalisation, consultez la section Configurer la journalisation.

Pour afficher les messages de journal, procédez comme suit :

  1. Accéder à la plate-forme de lancement SAP Fiori du système BTP ABAP dans lequel le SDK ABAP pour Google Cloud est installé.
  2. Ouvrez l'application SDK Google : affichage des journaux d'application.
  3. Définissez les filtres de journaux selon vos besoins :

    • De : sélectionnez une date de début à partir de laquelle filtrer les journaux.
    • À : sélectionnez une date de fin jusqu'à laquelle vous souhaitez filtrer les journaux.
    • Objets journaux : sélectionnez un objet journal pour lequel les journaux doivent être récupérés.
    • Sous-objet de journal : sélectionnez un sous-objet de journal pour lequel les journaux doivent être récupérés.
    • Nom du service : sélectionnez les noms des services de l'API par rapport auxquels les journaux doivent être récupérés.
  4. Cliquez sur OK. La liste des en-têtes des journaux d'application s'affiche.

    En-têtes de journaux d'application

  5. Cliquez sur un en-tête de journal pour accéder aux journaux détaillés au niveau des éléments. Les messages du journal présentent une gravité et un horodatage.

    Journaux détaillés au niveau de l'article

    Un message de journal comprend généralement les deux entrées suivantes :

    • Entrée : fournit des informations sur l'emplacement du code où l'erreur s'est précisément produite. Pour résoudre des problèmes, vous pouvez utiliser cet emplacement de code comme point d'arrêt lors du débogage.
    • Message d'erreur : fournit des informations sur une erreur qui s'est produite lors d'une opération.

Débogage

Si vous disposez de l'autorisation requise, vous pouvez déboguer les classes du client API.

Pour déboguer les classes du client API, utilisez l'une des options suivantes :

  • Ajoutez un point d'arrêt au constructeur de la classe /GOOG/CL_HTTP_CLIENT, puis exécutez votre programme.

  • Ajoutez un point d'arrêt à la méthode que vous utilisez, puis exécutez votre programme.

Trace HTTP

Lors de la résolution des erreurs, vous pouvez vérifier la trace de l'appel HTTP dans SAP Monitor System Outbound Connections. Pour en savoir plus, consultez la page SAP Surveiller la communication sortante du système en général.

Problèmes opérationnels courants

Lorsque vous utilisez des API Google Cloud via les méthodes publiques du bouchon client, les développeurs peuvent rencontrer des erreurs et des exceptions. Ces erreurs et exceptions sont généralement classées dans deux catégories :

Cette section traite des erreurs et des exceptions déclenchées par le SDK.

/GOOG/MSG: 503 - HTTP Communication Failure exception occurred during the request sending

Problème : une requête HTTP vers une méthode API a échoué.

Cause : ce problème peut être dû à des problèmes de connectivité.

Solution : Dans le projet Google Cloud à partir duquel vous essayez d'accéder aux API Google Cloud, activez les API cibles. Pour en savoir plus sur l'activation des API Google Cloud, consultez la page Activer des 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.

Problème : vous ne pouvez pas générer de jeton STS (Security Token Service).

Cause : lorsque vous vous authentifiez auprès de Google Cloud à l'aide de jetons via la fédération d'identité de charge de travail ou la clé API stockée dans Secret Manager, il manque les configurations nécessaires à votre configuration d'authentification.

Solution : Vérifiez et mettez à jour les informations suivantes :

  • Dans l'application Configuration de la communication, mettez à jour l'ID du pool de fédération d'identité de charge de travail et l'ID du fournisseur de fédération d'identité de charge de travail.

  • Dans l'application SDK Google : configuration principale, pour votre carte de communication, mettez à jour l'ID et le numéro du projet Google Cloud de la clé client.

Pour en savoir plus, consultez la page Configurer le SDK ABAP pour Google Cloud afin d'utiliser la fédération d'identité de charge de travail.

/GOOG/MSG:400 - Error generating STS token:Bad Request-invalid_scope-Invalid scope provided in the request

Problème : vous ne pouvez pas vous authentifier auprès de Google Cloud.

Cause : lorsque vous vous authentifiez auprès de Google Cloud à l'aide de jetons via la fédération d'identité de charge de travail ou la clé API stockée dans Secret Manager, le champ d'application Google Cloud est non valide.

Solution : Dans l'application SDK Google : configuration principale, pour votre mappage de communication, assurez-vous que le champ d'application Google Cloud est https://www.googleapis.com/auth/cloud-platform

/GOOG/MSG:461 - API Key not valid. Please pass a valid API Key

Problème : vous ne pouvez pas vous authentifier auprès de Google Cloud à l'aide de l'authentification basée sur une clé API.

Cause : une clé API non valide est fournie dans la configuration de communication.

Solution : pour résoudre ce problème, conservez un nom et une version de secret valides dans la configuration de communication associée. Assurez-vous également qu'une clé API valide est configurée dans le secret.

Pour en savoir plus, consultez la page Configurer le SDK ABAP pour Google Cloud afin d'utiliser la clé API stockée dans Secret Manager.

/GOOG/MSG: 461 - Communication Map entry for authentication service not maintained

Problème : le SDK ne peut pas déterminer les artefacts de communication pour l'authentification.

Cause : aucun mappage de communication n'est géré pour le service d'authentification.

Solution : dans l'application SDK Google : configuration principale, créez un plan de communication et conservez le type d'authentification approprié pour la la méthode d'authentification que vous utilisez.

Pour créer un plan de communication, consultez les instructions concernant les méthodes d'authentification dans la section Configurer l'authentification pour l'édition SAP BTP du SDK ABAP pour Google Cloud.

/GOOG/MSG: 461 - Communication Scenario not valid for default Google Authentication

Problème : le SDK ne peut pas déterminer la configuration de la communication pour l'authentification.

Cause : l'entrée conservée pour le service d'authentification n'est pas valide.

Solution : dans l'application SDK Google : Configuration principale, assurez-vous que la configuration de la communication est définie avec un scénario et un système de communication appropriés.

Pour mettre à jour une configuration de communication, consultez les instructions concernant les méthodes d'authentification dans la section Configurer l'authentification pour l'édition SAP BTP du SDK ABAP pour Google Cloud.

/GOOG/MSG:400 - Error generating IDP token: Not found

Problème : vous ne pouvez pas générer le jeton du fournisseur d'identité à partir du service XSUAA.

Cause : lorsque vous vous authentifiez auprès de Google Cloud à l'aide de jetons via la fédération d'identité de charge de travail ou la clé API stockée dans Secret Manager, soit l'URL du nom d'hôte pour le service XSUAA, soit la valeur du chemin d'accès est incorrect dans le système de communication.

Solution : Vérifiez et mettez à jour les informations suivantes :

  • Dans le système de communication du service XSUAA ou dans la destination BTP utilisée dans le système de communication, conservez l'URL du nom d'hôte correcte.
  • Dans la configuration de communication, conservez un chemin d'accès valide.

/GOOG/MSG:400 - Error generating STS token: Not found

Problème : Vous ne pouvez pas générer le jeton Security Token Service requis pour l'authentification.

Cause : lorsque vous vous authentifiez auprès de Google Cloud à l'aide de jetons via la fédération d'identité de charge de travail ou la clé API stockée dans Secret Manager, et que vous utilisez une configuration de communication pour le service STS, le système de communication associé au service STS n'est pas valide.

Solution : Vérifiez et mettez à jour les informations suivantes :

  • Dans le système de communication du service STS ou dans la destination BTP utilisée dans le système de communication, conservez l'URL du nom d'hôte correcte.
  • Dans la configuration de communication, conservez un chemin d'accès valide.

/GOOG/MSG:400 - Error generating IAM token: Not found

Problème : vous ne pouvez pas générer le jeton IAM requis pour l'authentification.

Cause : lorsque vous vous authentifiez auprès de Google Cloud à l'aide de jetons via la fédération d'identité de charge de travail ou la clé API stockée dans Secret Manager, et que vous utilisez une configuration de communication pour le service IAM, le plan de communication et le système de communication associés au service IAM ne sont pas valides.

Solution : Vérifiez et mettez à jour les informations suivantes :

  • Dans le système de communication du service IAM ou dans la destination BTP utilisée dans le système de communication, conservez l'URL du nom d'hôte correcte.
  • Dans la configuration de communication, conservez un chemin d'accès valide.

Erreurs de validation de la configuration

G001 | Check communication scenario

Cause : le scénario de communication configuré dans le plan de communication n'est pas compatible avec la classe d'autorisation par défaut /GOOG/CL_AUTH_GOOGLE.

Solution : Si vous utilisez /GOOG/CL_AUTH_GOOGLE comme classe d'autorisation, assurez-vous que l'un des scénarios de communication suivants est spécifié dans votre plan de communication en fonction de la méthode d'authentification :

Scénario de communication Ratio d'économie d'énergie (EER)
/GOOG/COM_SDK_WIF Fédération d'identité de charge de travail
/GOOG/COM_SDK_APIKSM Clé API à l'aide de Secret Manager

Pour mettre à jour un plan de communication, consultez les instructions concernant les méthodes d'authentification dans la section Configurer l'authentification pour l'édition SAP BTP du SDK ABAP pour Google Cloud.

W001 | Check Comm. arrangement for WIF

Cause : la configuration de communication ne peut pas être identifiée à l'aide du scénario de communication et du système de communication spécifiés dans l'application SDK Google : configuration principale.

Solution : assurez-vous que la configuration de communication du service d'authentification utilise un scénario de communication et un système de communication valides.

Pour en savoir plus, consultez la page Configurer le SDK ABAP pour Google Cloud afin d'utiliser la fédération d'identité de charge de travail.

W002 | Fetch XSUAA token

Cause : la récupération du jeton XSUAA a échoué.

Solution : assurez-vous que l'instance de service XSUAA est correctement configurée.

Pour en savoir plus, consultez la section Créer une instance de service d'autorisation et d'approbation (XSUAA).

W003 | Fetch WIF Pool ID

Cause : l'ID de pool de fédération d'identité de charge de travail n'existe pas dans la configuration de communication.

Solution : Dans la configuration de communication utilisée pour le service d'authentification, assurez-vous que le scénario de communication /GOOG/COM_SDK_WIF est utilisé et qu'un ID de pool de fédération d'identité de charge de travail valide est spécifié.

Pour en savoir plus, consultez la page Configurer le SDK ABAP pour Google Cloud afin d'utiliser la fédération d'identité de charge de travail.

W004 | Fetch WIF Provider ID

Cause : l'ID du fournisseur de fédération d'identité de charge de travail n'existe pas dans la configuration de communication.

Solution : Dans la configuration de communication utilisée pour le service d'authentification, assurez-vous que le scénario de communication /GOOG/COM_SDK_WIF est utilisé et qu'un ID de fournisseur de fédération d'identité de charge de travail valide est spécifié.

Pour en savoir plus, consultez la page Configurer le SDK ABAP pour Google Cloud afin d'utiliser la fédération d'identité de charge de travail.

W005 | Fetch STS token

Cause : la récupération du jeton STS a échoué.

Résolution : pour résoudre ce problème, procédez comme suit :

W006 | Fetch IAM credential token

Cause : la récupération du jeton IAM à partir de l'API IAM Credentials a échoué.

Résolution : pour résoudre ce problème, procédez comme suit :

  • Dans le plan de communication, vérifiez que le numéro de projet Google Cloud est correctement conservé. Pour en savoir plus, consultez la page Configurer le SDK ABAP pour Google Cloud afin d'utiliser la fédération d'identité de charge de travail.
  • Dans le plan de communication, si une entrée est conservée pour le service iamcredentials:v1, assurez-vous que la configuration de communication gérée est valide, disponible dans le système et qu'elle utilise le même scénario de communication et le même système de communication comme spécifié dans l'application de configuration du SDK.

V001 | Check Comm. Arr. for API Key(SM)

Cause : la configuration de communication ne peut pas être identifiée à l'aide du scénario de communication et du système de communication spécifiés dans l'application SDK Google : configuration principale.

Solution : assurez-vous que la configuration de communication gérée pour le service d'authentification est valide, disponible dans le système et qu'elle utilise le même scénario de communication et le même système de communication que ceux gérés dans l'application de configuration du SDK.

Pour en savoir plus, consultez la page Configurer le SDK ABAP pour Google Cloud afin d'utiliser une clé API depuis Secret Manager.

V002 | Fetch Secret Name

Cause : le nom du secret n'existe pas dans la configuration de communication.

Solution : Dans la configuration de communication utilisée pour le service d'authentification, assurez-vous que le scénario de communication /GOOG/COM_SDK_APIKSM est utilisé et qu'un secret valide est spécifié.

Pour en savoir plus, consultez la page Configurer le SDK ABAP pour Google Cloud afin d'utiliser une clé API depuis Secret Manager.

V003 | Fetch Secret Version

Cause : la propriété Version du secret ne contient pas de valeur valide dans la configuration de communication.

Solution : dans la configuration de communication utilisée pour le service d'authentification, assurez-vous que le scénario de communication /GOOG/COM_SDK_APIKSM est utilisé et qu'une version de secret valide est spécifiée.

Pour en savoir plus, consultez la page Configurer le SDK ABAP pour Google Cloud afin d'utiliser une clé API depuis Secret Manager.

V004 | Fetch Token from Secret Manager

Cause : l'API Secret Manager n'a pas pu récupérer le secret contenant la clé API.

Résolution : pour résoudre ce problème, procédez comme suit :

Messages d'erreur renvoyés par les API Google Cloud

Chaque bouchon de client API contient les paramètres d'exportation qui fournissent le code et les messages d'erreur renvoyés par une API.

  • ev_ret_code contient les codes d'état HTTP. En cas d'erreur renvoyée par une API, ce paramètre contient une valeur 4XX.

  • ev_err_resp contient la catégorie d'erreur et le message d'erreur renvoyés par une API.

L'exemple suivant présente une erreur renvoyée par une API lorsque vous créez un sujet Pub/Sub avec un nom de sujet qui existe déjà.

  • ERROR_TEXT : conflit
  • ERROR_DESCRIPTION : la ressource existe déjà dans le projet (ressource SAMPLE_TOPIC_01)

Pour les erreurs renvoyées par les API, nous vous recommandons de consulter la documentation publique des API correspondantes.

Obtenir l'aide de la communauté

Posez vos questions concernant le SDK ABAP pour Google Cloud et discutez de celui-ci avec la communauté sur les forums Cloud.

Obtenir de l'aide

Si vous avez besoin d'aide pour résoudre des problèmes liés à l'édition SAP BTP du SDK ABAP pour Google Cloud, collectez toutes les informations de diagnostic disponibles et contactez Cloud Customer Care.

Pour savoir comment contacter Cloud Customer Care, consultez la page Obtenir de l'aide pour SAP sur Google Cloud.