Attività Tenta

L'attività Tenta... tenta di eseguire l'attività o le attività nel ramo principale Tenta.

Informazioni su questa attività

Se si verifica un'eccezione durante l'esecuzione dell'attività o delle attività nel ramo principale Tenta, viene eseguito il ramo CatchAll.

Ad esempio, il ramo principale Tenta può richiamare l'attività del database Inserisci righe, come mostrato nella seguente figura:

Se l'attività del database Inserisci righe ha esito negativo e genera un'eccezione, vengono eseguite le attività o l'attività nel ramo CatchAll. In questa orchestrazione di esempio, quando l'attività del database Inserisci righe genera un'eccezione, viene eseguita l'attività Termina per terminare il lavoro di orchestrazione corrente.

Per aggiungere e configurare un'attività Tenta..., completare le seguenti operazioni:

Procedura

  1. Aprire la scheda Attività e la cartella Logica.
  2. Trascinare l'attività Tenta... sull'orchestrazione. L'attività Tenta... viene visualizzata con i seguenti rami:
    • Ramo Tenta...
    • Ramo CatchAll
    Quando viene creato il primo ramo CatchAll, vengono create automaticamente le seguenti variabili:
    • faultName - Durante il runtime, la variabile faultName contiene il nome dell'eccezione generata da un'attività nel ramo Tenta.
    • faultData - Durante il runtime, la variabile faultData contiene il messaggio di errore associato all'eccezione. Questa informazione aggiuntiva viene attualmente restituita soltanto per le attività Servizi Web. Per le attività Servizi Web, la variabile faultData contiene l'errore.
    • faultInfo - Durante il runtime, la variabile faultInfo restituisce i seguenti nodi:
      • name - Durante il runtime, il nodo faultInfo/name contiene il nome dell'eccezione generata dall'attività nel ramo Tenta. Il nodo faultInfo/name è di tipo xsd:QName.
      • message - Durante il runtime, il nodo faultInfo/message contiene il messaggio di errore associato all'eccezione. Il nodo faultInfo/message è di tipo xsd:string.
      • activityId - Durante il runtime, il nodo faultInfo/activityId contiene l'ID attività che identifica in modo univoco l'attività su cui si è verificata l'eccezione. Il nodo faultInfo/activityId è di tipo xsd:int.
      • activityName - Durante il runtime, il nodo faultInfo/activityName contiene il nome dell'attività in cui si è verificata l'eccezione. Il nodo faultInfo/activityName è di tipo xsd:string.
      • faultTime - Durante il runtime, il nodo faultInfo/faultTime contiene l'ora in cui si è verificato l'errore. Il nodo faultInfo/faultTime è di tipo xsd:dateTime.
      Nota: il nome dell'eccezione restituita da un'attività nella variabile faultName e il nodo faultInfo/name potrebbero essere modificati nei release futuri.
  3. Configurare i rami Tenta... e CatchAll, rilasciando le attività dalla scheda Attività nei rami dell'attività Tenta..., come mostrato nella figura precedente e in quella successiva.
    Attenzione: l'ambito delle variabili faultName, faultData e faultInfo è limitato al ramo CatchAll dell'attività Tenta.... Tale limitazione di ambito significa che il valore di queste variabili viene garantito come valido soltanto all'interno del ramo CatchAll. Ad esempio, se si aggiunge un'attività If...Then, che verifica il valore della variabile faultName, l'attività If...Then deve essere posizionata nel ramo CatchAll dell'attività Tenta..., come mostrato nella seguente figura: