studio
2024.10
true
Guide de l’utilisateur de Studio
Last updated 30 oct. 2024

Chargement des services Web dans les bibliothèques

Studio peut générer des activités directement à partir des services Web SOAP ou REST, ou des collections Postman via la fenêtre Éditeur de service.

Services Web SOAP et REST

La fenêtre permet de charger automatiquement toutes les méthodes ou tous les points de terminaison dans un service Web donné, que ce soit REST ou SOAP, tant que le lien fourni inclut la définition des services : Swagger ou WSDL.

Une fois chargée, vous sélectionnez à partir de quels points de terminaison ou de quelles méthodes les activités doivent être créées automatiquement. Tous les éléments sélectionnés sont affichés dans le panneau Activités (Activities), sous l'Espace de noms (Namespace) que vous avez fourni dans la fenêtre Éditeur de service (Service Editor).

Il est possible ensuite d'empaqueter ces bibliothèques en tant que fichier .nupkg et de le publier dans Orchestrator ou à un emplacement personnalisé. Par conséquent, vous pouvez partager facilement votre activité récemment définie avec d'autres développeurs avec lesquels vous travaillez.
Remarque : les services Web SOAP ne sont pas pris en charge dans les projets Windows et multiplateformes. Vous ne pouvez utiliser cette intégration que dans les projets Windows - Héritage.

Ajout de services

Suivez les étapes ci-dessous pour générer des activités depuis les services Web :

  1. Créez une bibliothèque dans Studio, comme expliqué sur la page À propos des bibliothèques.
  2. Dans l'onglet Conception (Design), cliquez sur Nouveau service (New Service), ou cliquez avec le bouton droit sur Services (Services) dans le panneau Projet (Project), puis cliquez sur Nouveau service (New Service). La fenêtre Éditeur de service (Service Editor) s'affiche.


  3. Ajoutez un chemin d'accès au fichier ou un lien vers la ressource Swagger ou WSDL. Cliquez sur Charger (Load). Tous les points de terminaison définis à partir du service Web sont désormais chargés dans la fenêtre Éditeur de service (Service Editor).


  4. Entrez la méthode ou l'opération requise dans la zone de recherche Opérations de recherche (Search Operations) et affichez les résultats ci-dessous. Pour Swagger, les méthodes sont marquées avec des couleurs différentes dans chaque point de terminaison. Utilisez la case Tout désélectionner (Deselect All) pour désélectionner tous les points de terminaison et choisir ceux à charger. L'espace de noms est généré automatiquement. Entrez simplement un nouveau nom pour le modifier.
  5. Cliquez sur Enregistrer (Save). Le service est désormais intégré à l'arborescence de projets.


  6. Pour utiliser les activités générées dans le panneau Concepteur (Designer), accédez au panneau Activités (Activities), recherchez par l'espace de noms du service dans la section des activités Disponibles (Available) et faites glisser chaque activité dans le panneau.
    Remarque :
    Pour les services SOAP, il est recommandé de ne charger que les clients SOAP, contrairement aux clients HttpGet ou HttpPost.

    Pour les services Swagger, lorsque le service ne peut pas désérialiser la réponse du serveur, il est recommandé d’inspecter le schéma Swagger et de rechercher les propriétés requises dans les définitions du modèle.

Pour modifier un service, cliquez simplement avec le bouton droit sur le service dans le panneau Projet (Project), sous Services (Services) et sélectionnez Modifier le service (Edit Service).

Notez que si votre projet est sous le contrôle de code source, l'extraction seule du fichier project.json de la bibliothèque active l'option Modifier les services (Edit Services) pour les fichiers .xaml avec les services Web SOAP ou REST chargés.
L'ajout et la modification d'un service sont également reflétés dans le fichier project.json contenant la définition de la bibliothèque, et dans le document du service. Un nœud webServices est ajouté dans le fichier project.json, et chaque service est identifié par les éléments suivants :


Paramètre

Description

namespace

Nom du service fourni dans la fenêtre Éditeur de service (Service Editor).

serviceDocument

Le chemin d'accès au fichier .json contenant des métadonnées pour le service SOAP ou Swagger. Le fichier est utilisé lorsque le service est réparé, et doit être avec version dans le cadre du projet.

webDocumentUri

Chemin d'accès au fichier ou lien vers la ressource Swagger ou SOAP (fourni lors de la création du service dans la fenêtre Éditeur de service (Service Editor)).

uniqueReference

Une référence nécessaire au contrôle de version du service.

Réparation des services

Les fichiers dll générés à partir de services Web SOAP ou REST ne sont pas transférés vers les référentiels de contrôle de code source. Par conséquent, lors de l'extraction de bibliothèques contenant des services, les projets contiennent des activités non résolues dans le panneau Concepteur (Designer).
Pour réparer ces activités et générer à nouveau le fichier .dll du service, cliquez avec le bouton droit sur le nœud du service dans le panneau Projet (Project) et sélectionnez Réparer le service (Repair Service) dans le menu contextuel.


Les métadonnées de service SOAP ou REST et les informations supplémentaires sont stockées dans un fichier .json pour chaque service chargé dans Studio. S'il manque le fichier .json associé à un service chargé, l'option de menu contextuel Réparer les services du nœud Services vous permet de générer les fichiers .json manquants à l'aide du lien vers le descripteur de document Web qui a été fourni lors de la création de ce service. Par conséquent, les filtres qui auraient pu être appliqués lors de la première génération du service ne sont plus appliqués et toutes les ressources fournies par le chemin ou le lien susmentionné sont importées.
La publication des bibliothèques à l'aide de l'interface utilisateur de ligne de commande UiPath.Studio.CommandLine.exe détaillée sur la page Paramètres de la ligne de commande de la mise à jour groupée (Mass Update Command Line Parameters) ne prend pas les services Web en compte.
Remarque : les activités générées depuis les services SOAP ou REST ne peuvent pas être localisées dans Studio.

Pour appeler plusieurs fois des activités générées à partir de services Web dans une boucle, créez un workflow distinct à partir du fichier de bibliothèque principal et invoquez la méthode de service. Dans le workflow principal, utilisez l'activité Invoke Workflow File à l'intérieur d'une activité For Each, et invoquez le workflow créé précédemment.

Pour plus d’informations sur les activités générées depuis les services Web, consultez la section Activités générées depuis les services Web.

Importation d'espaces de noms

Studio v2020.4 apporte un changement radical en termes de bibliothèques avec des services Swagger importés. La façon dont Studio interprète les fichiers .json des services Swagger a changé, générant ainsi des problèmes de rétrocompatibilité si et seulement si un service existant est modifié à partir de la fenêtre Éditeur de service.

Dans l’exemple suivant, nous avons illustré le changement en utilisant le service Web de démo Petstore.

Avant studio v2020.4, après avoir ajouté le service à un projet de bibliothèque, et en utilisant le menu contextuel « Parcourir pour les types ... », les espaces de noms suivants se trouvent dans le nom d’assemblage SwaggerPetstore :



En explorant dans UiPath.WebClient._ClientNamespace, les types suivants peuvent être trouvés :


Par conséquent, si l'activité AddPet avait été utilisée dans un fichier xaml d'une bibliothèque Studio, elle aurait fait partie du fichier UiPath.WebClient._ClientNamespace. Le type _ClientAddPetRequest a été utilisé pour générer une requête, comme dans l'extrait ci-dessous :
xmlns:uw_="clr-namespace:UiPath.WebClient.<em>ClientNamespace;assembly=SwaggerPetstore" 
...
<uw</em>:AddPetActivity BearerToken="{x:Null}" ClientCertificate="{x:Null}" ClientCertificatePassword="{x:Null}" Headers="{x:Null}" OAuth2Token="{x:Null}" Password="{x:Null}" Username="{x:Null}" DisplayName="AddPet" Endpoint="["https://petstore.swagger.io/v2"]" sap:VirtualizedContainerService.HintSize="200,22.4" sap2010:WorkflowViewState.IdRef="AddPetActivity_1" TimeoutMS="30000">
      <uw_:AddPetActivity.Request>
        <uw_:<em>ClientAddPetRequest Body="{x:Null}" />
      </uw</em>:AddPetActivity.Request>
    </uw_:AddPetActivity>
  </Sequence>
</Activity>xmlns:uw_="clr-namespace:UiPath.WebClient.<em>ClientNamespace;assembly=SwaggerPetstore" 
...
<uw</em>:AddPetActivity BearerToken="{x:Null}" ClientCertificate="{x:Null}" ClientCertificatePassword="{x:Null}" Headers="{x:Null}" OAuth2Token="{x:Null}" Password="{x:Null}" Username="{x:Null}" DisplayName="AddPet" Endpoint="["https://petstore.swagger.io/v2"]" sap:VirtualizedContainerService.HintSize="200,22.4" sap2010:WorkflowViewState.IdRef="AddPetActivity_1" TimeoutMS="30000">
      <uw_:AddPetActivity.Request>
        <uw_:<em>ClientAddPetRequest Body="{x:Null}" />
      </uw</em>:AddPetActivity.Request>
    </uw_:AddPetActivity>
  </Sequence>
</Activity>

En utilisant Studio v2020.4, l’espace de noms suivant peut être trouvé lors de l’importation du même service Web :



Les types suivants sont trouvés lors de l’expansion du UiPath.WebClient.PetClientNamespace:


Par conséquent, si l'activité AddPet est utilisée dans un fichier xaml d'une bibliothèque Studio créée avec v2020.4, il fait partie de UiPath.WebClient.PetClientNamespaceet le type PetClientAddPetRequest est utilisé pour générer une requête. Il s'agit d'espaces de noms et de types différents de ceux des bibliothèques créées avec des versions antérieures à v2020.4.

Voici un extrait d’une telle bibliothèque créée avec v2020.4:

xmlns:uwp="clr-namespace:UiPath.WebClient.PetClientNamespace;assembly=SwaggerPetstore"
...
<uwp:AddPetActivity BearerToken="{x:Null}" ClientCertificate="{x:Null}" ClientCertificatePassword="{x:Null}" Headers="{x:Null}" OAuth2Token="{x:Null}" Password="{x:Null}" Username="{x:Null}" DisplayName="AddPet" Endpoint="["https://petstore.swagger.io/v2"]" sap:VirtualizedContainerService.HintSize="200,22.4" sap2010:WorkflowViewState.IdRef="AddPetActivity_1" TimeoutMS="30000">
      <a href="uwp:AddPetActivity.Request">uwp:AddPetActivity.Request</a>
        <uwp:PetClientAddPetRequest Body="{x:Null}" />
      </uwp:AddPetActivity.Request>
    </uwp:AddPetActivity>
  </Sequence>
</Activity>xmlns:uwp="clr-namespace:UiPath.WebClient.PetClientNamespace;assembly=SwaggerPetstore"
...
<uwp:AddPetActivity BearerToken="{x:Null}" ClientCertificate="{x:Null}" ClientCertificatePassword="{x:Null}" Headers="{x:Null}" OAuth2Token="{x:Null}" Password="{x:Null}" Username="{x:Null}" DisplayName="AddPet" Endpoint="["https://petstore.swagger.io/v2"]" sap:VirtualizedContainerService.HintSize="200,22.4" sap2010:WorkflowViewState.IdRef="AddPetActivity_1" TimeoutMS="30000">
      <a href="uwp:AddPetActivity.Request">uwp:AddPetActivity.Request</a>
        <uwp:PetClientAddPetRequest Body="{x:Null}" />
      </uwp:AddPetActivity.Request>
    </uwp:AddPetActivity>
  </Sequence>
</Activity>

Collections Postman

L'application Postman peut être utilisée pour créer et regrouper des définitions d'API dans des collections, organisant et enchaînant ainsi vos requêtes. Postman prend en charge les scripts pour la transmission de données entre les requêtes API. Consultez la documentation en ligne de Postman pour en savoir plus sur la création d'une collection.

Si vous avez déjà une collection Postman, vous pouvez charger ses demandes dans Studio et générer une activité. La maintenance de la collection se fait dans Postman, et tous les changements sont également exercés dans votre workflow.

Studio reçoit l'accès à une collection Postman via une clé API, qui doit être ajoutée à la fenêtre Éditeur de service , dans le champ Fichier ou Lien. La clé API est une clé à l'échelle du compte générée à partir de la page Paramètres du profil Postman > Clés API et non une clé API générée en partageant une collection. Par conséquent, les modifications des demandes ne sont effectuées que dans Postman et non dans Studio.

Studio charge toutes les demandes définies dans la collection, et les demandes ne peuvent pas être exécutées individuellement. L’édition et la réparation d’une collection dans Studio se réalisent de la même manière que pour les services WEB SOAP ou REST.
Remarque : l’accès à la collection est uniquement possible via la clé d’API. Le chargement d’un fichier de schéma JSON peut provoquer des erreurs inattendues.

Conditions préalables pour les collections Postman

Il est recommandé de redémarrer votre machine après l’installation de Newman.

Exemple avec une collection Postman

L’exemple suivant utilise une collection Postman pour get la valeur d’une certaine devise et l’affiche dans le panneau Sortie de Studio.

Dans cet exemple, nous avons écrit un script de test pour parcourir les données reçues. Nous avons déclaré une variable globale directement dans le script, mais cela peut également être fait avec l'extrait Définir une variable globale (Set a global variable snippet) dans Postman, en savoir plus à ce sujet ici.



L’argument In a transmis la valeur de devise EUR à un argument Out, visible dans la bibliothèque, dans le panneau Propriétés > Entrée > Collection. L’argument Out est visible dans le même panneau, dans la section Sortie.


Les arguments Out des activités sont mappés sur une variable et sa valeur est écrite dans le panneau Sortie.

Utilisez une activité Si (If) pour valider la valeur renvoyée par la variable. Dans cet exemple, nous avons validé que la valeur était renvoyée, puis nous l'avons écrite dans le panneau Sortie (Output).

Cette page vous a-t-elle été utile ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Uipath Logo White
Confiance et sécurité
© 2005-2024 UiPath Tous droits réservés.