Le plug-in HTTP-REST prend en charge deux types d'hôtes REST que vous pouvez utiliser pour effectuer des demandes à des points de terminaison REST : les hôtes persistants et les hôtes temporaires.

Différences entre les hôtes persistants et temporaires

Le tableau suivant compare les deux types d'hôtes REST.
Hôtes persistants Hôtes temporaires
Stocké dans la base de données vRealize Orchestrator. Non stocké dans la base de données vRealize Orchestrator.

Les hôtes temporaires sont des objets virtuels qui résident dans la mémoire pendant l'exécution d'un script.

Stocké dans l'inventaire vRealize Orchestrator.

Vous pouvez également afficher les hôtes persistants dans les menus déroulants de type RESTHost.

Non stocké dans l'inventaire vRealize Orchestrator.
Disponible après le redémarrage, le basculement et la mise à niveau.

Lorsqu'un jeton de workflow est interrompu, il peut reprendre là où il s'était arrêté si l'élément de workflow utilise un hôte REST persistant comme entrée.

Utilisez des hôtes persistants comme entrées/sorties des éléments de workflow. Vous pouvez les créer au début des scripts et les supprimer si vous n'en avez plus besoin.

Non disponible après le redémarrage et le basculement.

Lorsqu'un workflow est interrompu, il ne peut pas restaurer une entrée d'élément de workflow qui implique un hôte REST temporaire.

Utilisez des hôtes temporaires dans les scripts lorsque vous effectuez des demandes isolées sur un serveur que vous n'utilisez pas autrement.

Vous pouvez les exporter et les importer comme éléments de ressource. Ils sont transférables entre différentes instances de vRealize Orchestrator, car ils sont entièrement créés et gérés à partir de scripts.

Utilisez des hôtes temporaires lorsque vous travaillez sur plusieurs environnements sans avoir besoin de migrer des hôtes persistants.

Chaque hôte persistant dispose d'un client HTTP dédié qui est utilisé pour gérer les demandes au point de terminaison. Les hôtes réutilisent la même instance de client HTTP.
Les demandes parallèles sont prises en charge pour les hôtes persistants et temporaires.
  • Si vous activez des demandes parallèles, chaque demande est exécutée avec un contexte distinct. L'état, y compris les cookies, n'est alors pas conservé entre les demandes.
  • Si la prise en charge des demandes parallèles est désactivée, les demandes consécutives partagent le même contexte HTTP.

Considérations relatives aux hôtes temporaires

Lors de la création d'hôtes temporaires, tenez compte des éléments suivants.
  • Les hôtes temporaires transmis entre les éléments de workflow en entrée/sortie peuvent ne pas fonctionner dans tous les cas. Les hôtes temporaires reposent sur le cache de workflow qui ne fonctionne pas en cas de démarrage des workflows asynchrones, par exemple. Les workflows imbriqués peuvent également échouer.
  • Seules les demandes GET et HEAD sont redirigées automatiquement. La redirection d'URL utilise la stratégie default.
  • La vérification du nom d'hôte n'est pas prise en charge.
  • L'authentification par certificat client n'est pas prise en charge.

Dépannage

Si vous utilisez des hôtes temporaires sans prise en charge des demandes parallèles, vous pouvez rencontrer des regressions de script après la mise à niveau de votre environnement vRealize Orchestrator ou la mise à niveau du plug-in HTTP-REST vers la version 2.4.1.19272162 ou ultérieure. L'utilisation de différentes instances d'hôte temporaires pour exécuter des demandes qui dépendent les unes des autres pour les cookies n'est pas prise en charge à partir de vRealize Orchestrator 8.7.

Pour éviter ce problème utilisez l'une des méthodes suivantes.
  1. Au lieu d'hôtes temporaires, utilisez des opérations et des hôtes persistants. Vous pouvez créer des hôtes REST persistants de l'une des deux manières suivantes.
    1. Créez un hôte REST pointant vers le serveur à l'aide du workflow Ajouter un hôte REST.
      Au lieu d'utiliser des hôtes temporaires, utilisez l'hôte REST comme entrée partout où vous devez soumettre une demande à l'hôte.
      • Ne créez pas d'opérations transitoires pointant vers cet hôte. Créez plutôt des opérations régulières.
      • La prise en charge des demandes parallèles doit être désactivée, sinon les cookies ne sont pas conservés.

      Cette approche n'est pas recommandée si vous effectuez plusieurs demandes en parallèle à cet hôte dans vos workflows.

    2. Créez un hôte REST par workflow exécuté à partir des scripts, puis supprimez-le.
      Utilisez cette méthode si vous soumettez des demandes parallèles au serveur. Par exemple, si vous avez deux demandes parallèles, créez deux hôtes différents.
      1. Clonez un workflow.
      2. Ajoutez un élément de script qui crée l'hôte que vous souhaitez utiliser pour les demandes ultérieures.
      3. Utilisez l'hôte comme sortie du workflow et comme entrée de tous les autres scripts qui soumettent des demandes à cet hôte.
      4. Pour nettoyer l'état, ajoutez un élément à la fin du script qui supprime l'hôte que vous avez créé.
  2. Utilisez un hôte temporaire pour toutes les demandes dépendantes dans un workflow donné et transmettez-le entre les éléments de workflow comme entrée/sortie si nécessaire.

    La transmission d'hôtes temporaires entre plusieurs éléments de workflow n'est pas officiellement prise en charge, mais devrait fonctionner. Notez que lors du redémarrage, l'état du workflow peut être perdu et le workflow peut ne pas reprendre correctement.

    Si vous utilisez des hôtes temporaires et que vous souhaitez effectuer des demandes qui dépendent les unes des autres pour les cookies, vous devez utiliser la même instance d'hôte temporaire pour toutes les demandes. Si les demandes couvrent plusieurs éléments de workflow, créez l'hôte dans le premier élément de workflow, puis transmettez-le comme entrée au reste.

  3. Utilisez vos hôtes temporaires actuels, mais modifiez les demandes qui échouent pour inclure les cookies nécessaires en ajoutant les en-têtes respectifs.

    Vous devrez peut-être analyser les cookies de la réponse précédente et les utiliser dans les demandes suivantes.