Rubrique précédente: ScriptRubrique suivante: Informations de connexion à distance


API de script intégré pour l'opérateur Exécuter un script Telnet

Le produit utilise un script écrit en BeanShell ou en JavaScript pour le champ Script intégré de l'opérateur Exécuter un script Telnet. Le script utilise l'objet conn, qui présente les API suivantes :

void send (String str, boolean log) throws Exception

Cette méthode envoie des données à l'hôte distant.

String str

Définit les données à envoyer à l'hôte distant.

boolean log

Affiche ou masque les données envoyées à l'hôte distant dans les journaux CA Process Automation.

Pour procéder à un débogage, suivez l'interaction entre l'opérateur et l'hôte distant. Définissez le code suivant dans le fichier <répertoire_installation>/server/conf/log4j.xml :

<category name="com.société.c2o.servicegroup.netutils">	
   <priority value="DEBUG" />
</category>

Configurez également le fichier journal CA Process Automation (c2o.log) pour qu'il accepte les instructions de débogage dans le fichier log4j.xml.

Une fois que le niveau DEBUG est défini, la catégorie de l'opérateur Exécution de la commande démarre la journalisation des événements au niveau DEBUG dans le fichier journal CA Process Automation (c2o.log). Les journaux CA Process Automation contiennent toutes les données envoyées à l'hôte distant via l'appel send ou sendLine.

Valeurs :

True : enregistre la valeur de String str lorsque la journalisation est définie sur le niveau DEBUG.

False : n'enregistre pas la valeur de String str.

Remarque : c2o.log est le fichier journal de CA Process Automation, et non celui des processus. Les opérateurs n'écrivent aucun message dans le journal de processus.

Cette méthode ne renvoie aucune valeur. Une exception est renvoyée si l'API ne peut pas écrire les données sur l'hôte distant.

public void sendLine (String str, boolean log) throws Exception

Cette méthode ajoute un caractère de nouvelle ligne aux données et les envoie à l'hôte distant. Utilisez cette méthode pour obliger l'hôte distant à lancer l'exécution de la commande envoyée dans le paramètre.

Cette méthode a les mêmes paramètres et valeurs que la méthode void send (String str, boolean log) throws Exception.

void send (String str) throws Exception

Cette méthode est équivalente à Send (String str, true).

void sendLine (String str) throws Exception

Cette méthode est équivalente à SendLine (String str, true).

public boolean waitFor(String pattern, int timeout) throws Exception

Cette méthode lit la sortie de l'hôte distant et s'arrête lorsque l'un des résultats suivants est obtenu :

La sortie lue à partir de l'hôte distant par chaque appel de méthode waitFor est stockée dans un tampon accessible via la méthode getLastOutput(). Chaque appel waitFor remplace le contenu du tampon correspondant à l'appel précédent.

L'appel waitFor suivant commence à lire la sortie à partir de la fin de la lecture de l'appel waitFor précédent. Cela est particulièrement approprié lorsque vous utilisez la méthode avec getLastOutput.(). Par exemple, si un appel WaitFor ne correspond pas à la sortie entière d'une commande, l'appel suivant peut contenir la sortie restante de la commande précédente.

Important : Effectuez un appel waitFor après chaque appel sendLine afin d'éviter de mélanger la sortie de la commande précédente avec la sortie de la commande actuelle.

Les opérateurs de script Telnet et SSH utilisent des mécanismes différents pour lire des données à partir de l'hôte distant :

Les paramètres incluent :

String pattern

Définit une expression régulière pour la mise en correspondance des données lues à partir de l'hôte distant. Généralement, ce schéma met en correspondance toutes les données jusqu'à l'invite suivante, par exemple : .*[$]. Commencer le schéma par .* vous permet de mettre en correspondance et de récupérer les données de sortie d'une commande, y compris les nouvelles lignes jusqu'à l'invite suivante.

Remarque : La méthode met en correspondance toutes les données lues durant l'appel waitFor avec le schéma. La méthode ne met pas en correspondance le schéma en tant que sous-chaîne de données lues. Un point peut également correspondre à une terminaison de nouvelle ligne, ce qui vous permet de l'utiliser pour mettre en correspondance des données de réponse multiligne.

Int timeout

Définit la durée (en secondes) de lecture des données à partir de l'hôte distant et de leur mise en correspondance avec le schéma.

Les valeurs renvoyées sont des opérateurs booléens :

True

Les données lues dans les limites du délai d'expiration correspondent au schéma.

False

Les données lues dans les limites du délai d'expiration ne correspondent pas au schéma.

Remarque : La méthode renvoie une valeur dès qu'une correspondance au schéma est renvoyée ou que le délai expire.

Le produit génère une exception dans les circonstances suivantes :

Cette méthode renvoie le contenu du tampon dans lequel le dernier appel waitFor a enregistré les données lues à partir de l'hôte distant. Ces données ne correspondent pas toujours au schéma waitFor. Le tampon stocke les éléments lus par l'appel waitFor le plus récent, lorsque waitFor renvoie True ou False.

Cette méthode ne comprend aucun paramètre.

Elle ne génère aucune exception.