Accéder au contenu principal Passer au contenu complémentaire

Configurer les composants pour appeler le service Web REST de la MetaServlet pour exécuter une tâche

Procédure

  1. Double-cliquez sur le composant tSetGlobalVar pour afficher sa vue Basic settings dans l'onglet Component.
  2. Cliquez sur le bouton [+] pour ajouter une ligne dans le tableau Variables :
    • Dans le champ Key, saisissez jsonEncoded

    • Dans les champs Value, saisissez :

      MetaServlet.base64Encode("{\"actionName\":\"runTask\",\"taskId\":\"" + context.task_id + "\",\"mode\"
      :\"synchronous\",\"context\":{\"Default\":\"" + ((String)globalMap.get("tMsgBox_1_RESULT")) + "\"},
      \"authPass\":\"" + context.tac_pwd + "\",\"authUser\":\"" + context.tac_user + "\"}") 

      pour appeler la routine précédemment créée.

  3. Double-cliquez sur le composant tREST pour afficher sa vue Basic settings.
  4. Renseignez le champ URL avec l'URL du service Web que vous souhaitez invoquer. Pour ce scénario, saisissez :
    context.tac_url + "/metaServlet?" +((String)globalMap.get("jsonEncoded"))

    pour appeler le service et encoder les paramètres de la MetaServlet au format JSON.

  5. Dans la liste HTTP Method, sélectionnez GET pour envoyer la requête HTTP pour générer une tâche.
    Ainsi, la MetaServlet est invoquée via l'API REST de Talend Administration Center avec les paramètres requis.
  6. Dans la vue Basic settings du composant tLogRow, sélectionnez l'option Basic pour afficher le résultat dans la console Run.
  7. Enregistrez votre Job et appuyez sur F6 pour l'exécuter.

Résultats

La console indique que le composant tREST a envoyé une requête HTTP côté serveur pour exécuter la tâche spécifiée et que cette tâche a été exécutée sans erreur.

Dans la page Job Conductor de Talend Administration Center, le statut de la tâche est désormais ready to run.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.