Exercice : se connecter à des services REST externes
Scénario
Vous souhaitez vous connecter à un service REST externe à partir de Dynamics 365 Business Central.
Tâches
Créer une page sans table source.
Se connecter à un service REST externe.
Afficher les informations du service REST sur la page.
Étapes
Démarrez Visual Studio Code.
Sélectionnez Afficher > Extensions (Ctrl+Shift+X).
Saisissez AL Language dans la zone de recherche Rechercher des extensions dans Marketplace.
Cliquez sur le bouton vert Installer.
Créez un projet d’extension AL. Sélectionnez Afficher > Palette de commandes… (Ctrl+Maj+P).
Saisissez AL: Go! dans la zone de recherche, puis sélectionnez la commande dans la liste.
Acceptez le chemin suggéré (ou saisissez un chemin différent).
Sélectionnez la version la plus récente comme plateforme cible.
Sélectionnez Bac à sable cloud Microsoft comme point de terminaison de développement.
Téléchargez les symboles d’application. Sélectionnez Afficher > Palette de commandes… (Ctrl+Maj+P).
Saisissez AL: Download symbols dans la zone de recherche, puis sélectionnez la commande dans la liste.
Si vous y êtes invité, fournissez vos informations d’identification professionnelles (compte Microsoft 365/compte Microsoft Entra ID).
Ouvrez le fichier app.json et redéfinissez le paramètre name sur Application REST test. Redéfinissez le paramètre publisher sur Cronus International Ltd.
Supprimez le fichier HelloWorld.al.
Créez un fichier nommé UserInfoCard.Page.al.
Saisissez tpage, puis appuyez sur la touche de tabulation.
Définissez le paramètre ID sur 50100 et le paramètre nom sur Fiche informations utilisateur.
Vérifiez que la propriété PageType est définie sur Card et que la propriété SourceTable est supprimée.
Créez la propriété Caption, puis saisissez Fiche informations utilisateur.
Définissez UsageCategory en saisissant Documents.
Ajoutez les variables globales suivantes :
Name Data Type ID Integer Name Text Email Text Phone Text CompanyName Text Supprimez la section actions et la variable globale myInt.
Ajoutez un conteneur ContentArea. Vérifiez qu’une zone du sous-type Content est créée dans la section disposition. Sinon, créez une zone de type Content.
Ajoutez un raccourci. Vérifiez qu’un groupe existe dans ContentArea ; sinon, créez un groupe. Remplacez le nom du premier groupe par Général. Créez la propriété Caption et saisissez Général.
Ajoutez un champ pour chaque variable globale. Définissez la propriété Editable sur false, sauf pour le champ ID.
Créez une procédure locale nommée GetUserInfo.
Créez les variables locales suivantes :
Name Data Type Client HttpClient ResponseMessage HttpResponseMessage Token JsonToken Object JsonObject JsonText Text Url Text Écrivez du code pour obtenir des informations sur un utilisateur spécifique.
procedure GetUserInfo() var Client: HttpClient; ResponseMessage: HttpResponseMessage; Token: JsonToken; Object: JsonObject; JsonText: Text; Url: Text; begin Url := 'https://jsonplaceholder.typicode.com/users/' + Format(Id); if not client.Get(Url, responseMessage) then Error(ErrorInfo.Create('The call to the web service failed.')); if not ResponseMessage.IsSuccessStatusCode then Error(ErrorInfo.Create('The web service returned an error message:\\' + 'Status code: ' + Format(ResponseMessage.HttpStatusCode()) + 'Description: ' + ResponseMessage.ReasonPhrase())); ResponseMessage.Content.ReadAs(JsonText); if not Object.ReadFrom(JsonText) then Error(ErrorInfo.Create('Invalid response, expected a JSON object')); Object.Get('name', Token); Name := Token.AsValue().AsText(); Object.Get('phone', Token); Phone := Token.AsValue().AsText(); Object.Get('email', Token); Email := Token.AsValue().AsText(); Object.Get('company', Token); Token.AsObject.Get('name', Token); CompanyName := Token.AsValue().AsText(); end;Créez un déclencheur OnValidate pour le champ ID. Appelez la procédure GetUserInfo à partir du déclencheur OnValidate.
Ouvrez le fichier launch.json dans le dossier .vscode. Définissez le paramètre startupObjectId sur 50100 et startupObjectType sur Page.
Publiez votre extension dans le bac à sable. Sélectionnez Afficher > Palette de commandes… (Ctrl+Maj+P).
Saisissez AL: Publish dans la zone de recherche (ou appuyez sur la touche de raccourci F5), puis sélectionnez la commande dans la liste.
Vérifiez que l’application Dynamics 365 Business Central démarre et que la page Fiche informations utilisateur s’affiche. Ajoutez un numéro de 1 à 10 dans le champ ID. Le service REST doit retourner un résultat.