Viene utilizzato uno script scritto in BeanShell o JavaScript per il campo Script inline dell'operatore Esegui script Telnet. Lo script utilizza l'oggetto conn, mostrato con le API seguenti:
void send (String str, boolean log) genera un'eccezione
Questo metodo invia i dati all'host remoto.
Definisce i dati da inviare all'host remoto.
Visualizza o nasconde i dati inviati all'host remoto nei log di CA Process Automation.
Per effettuare il debug, seguire l'interazione tra l'operatore e l'host remoto. Impostare il codice seguente nel file <install_dir>/server/conf/log4j.xml:
<category name="com.company.c2o.servicegroup.netutils">
<priority value="DEBUG" /> </category>
Impostare anche il file di log (c2o.log) di CA Process Automation per accettare le istruzioni di DEBUG in log4j.xml.
Quando si imposta il livello di debug, la categoria di operatore Esecuzione comando avvia l'accesso al file di log (c2o.log) di CA Process Automation a livello di DEBUG. I log di CA Process Automation riportano qualsiasi dato inviato all'host remoto tramite i comandi send o sendLine.
True: registra il valore String str all'accesso al livello DEBUG.
False: non registra il valore String str.
Nota: c2o.log rappresenta il file di log di CA Process Automation, non i log di processo. Gli operatori non scrivono messaggi nel log di processo.
Questo metodo non prevede alcune valore restituito. Viene generata un'eccezione se l'API non riesce a scrivere i dati sull'host remoto.
public void sendLine (String str, boolean log) genera un'eccezione
Questo metodo aggiunge un carattere di nuova riga ai dati e lo invia all'host remoto. Per obbligare l'host remoto ad avviare l'esecuzione del comando inviato nel parametro, utilizzare questo metodo.
Questo metodo presenta gli stessi parametri e valori quando void send (String str, boolean log) genera un'eccezione.
void send (String str) genera un'eccezione
Questo metodo è equivalente a Send (String str, True).
void sendLine (String str) genera un'eccezione
Questo metodo è equivalente a SendLine (String str, True).
public boolean waitFor(String pattern, int timeout) throws Exception
Questo metodo legge l'output dall'host remoto e si arresta quando si verifica uno dei risultati seguenti:
L'output ricevuto dall'host remoto durante ciascuna chiamata del metodo waitFor viene memorizzato in un buffer accessibile attraverso il metodo getLastOutput(). Ciascuna chiamata di waitFor sovrascrive il contenuto del buffer della chiamata precedente.
La chiamata successiva di waitFor avvia la lettura dell'output dal punto in cui è stata interrotta per la chiamata di waitFor precedente. Questo risultato è importante quando si utilizza il metodo con getLastOutput.(). Ad esempio, se una chiamata di waitFor non restituisce l'intero output del comando, la chiamata successiva può contenere l'output restante dal comando precedente.
Importante. Per evitare di combinare l'output del comando precedente con quello del comando corrente, chiamare il metodo waitFor dopo ogni chiamata di sendLine.
Gli operatori dello script Telnet e dello SSH utilizzano i meccanismi diversi per leggere i dati dall'host remoto:
I parametri includono:
Definisce un'espressione regolare per creare corrispondenze con i dati letti dall'host remoto. In genere, questo modello corrisponde a qualsiasi dato fino al prompt successivo (ad esempio, ".*[$]"). Poiché è possibile creare una corrispondenza e recuperare i dati di output del comando, incluse le nuove righe fino al prompt successivo, iniziare il modello con .*.
Nota: Il metodo trova la corrispondenza con il modello di tutti i dati letti durante la chiamata di waitFor. Il metodo non fa corrispondere il modello come una sottostringa dei dati letti. Inoltre, un punto (. ) può corrispondere al termine di una nuova riga, pertanto è utilizzabile per la corrispondenza dei dati di risposta multiriga.
Definisce l'intervallo, espresso in secondi, di lettura dei dati dall'host remoto e di creazione della corrispondenza con il modello.
I valori restituiti sono valori booleani:
I dati letti prima della scadenza del timeout corrispondono al modello.
I dati letti prima della scadenza del timeout non corrispondono al modello.
Nota: Il metodo restituisce un valore non appena viene trovata la corrispondenza con il modello o alla scadenza del timeout.
Viene generata un'eccezione nei casi seguenti:
public String getLastOutput()
Questo metodo restituisce il contenuto del buffer nel punto in cui l'ultima chiamata di waitFor ha salvato i dati letti dall'host remoto. Questi dati non sempre corrispondono al modello di waitFor. Il buffer memorizza i dati più recenti letti con la chiamata di waitFor, indipendentemente se è stato restituito un valore True o False.
Questo metodo non comprende parametri.
Questo metodo non genera eccezioni.
|
Copyright © 2013 CA.
Tutti i diritti riservati.
|
|