Espressioni nei servizi BizTalk - Uso ed esempi

Aggiornamento: agosto 2015

Elenca le istanze di Operazione di mapping di tipo espressione nei Servizi BizTalk di Microsoft Azure.

 

Operazione di mapping Descrizione Parametri Output

Arithmetic Expression

Valuta un'espressione matematica usando gli input e le costanti. L'operazione Arithmetic Expression è costituita dagli operatori seguenti:

  • Addizione

  • Sottrazione

  • Moltiplicazione

  • Divisione

  • Modulo

  • Valore assoluto

  • Massimo

  • Minimo

  • Arrotondamento

  • Radice quadrata

Può avere da 0 a 100 parametri di input facoltativi:

 

Input

Un valore numerico.

Arithmetic Expression

Un'espressione matematica definita usando gli input e le costanti.

noteNota
La lunghezza massima dell'espressione è pari a 1024 caratteri.

Valore numerico che è il risultato del calcolo.

Vedere Esempi di espressioni aritmetiche: Servizi BizTalk.

Logical Expression

Valuta una condizione e restituisce il valore booleano della valutazione. L'operazione Logical Expression è costituita dagli operatori seguenti:

  • Operatori relazionali:

    >

    <

    >=

    <=

    ==

    !=

  • Negazione logica (!)

  • E condizionale (&&)

    OPPURE condizionale (||)

Può avere da 0 a 100 parametri di input facoltativi:

 

Input

Può essere un valore numerico, un valore stringa o un valore booleano.

Logical Expression

Un'espressione definita usando gli input e le costanti che restituiscono un valore booleano.

noteNota
La lunghezza massima dell'espressione è pari a 1024 caratteri.

Viene restituito True se l'espressione logica restituisce true. In caso contrario, viene restituito False.

Vedere Esempi di espressioni logiche: Servizi BizTalk.

If-Then-Else Expression

Valuta un'istruzione che restituisce uno o due possibili output.

Può avere da 0 a 100 parametri di input facoltativi:

 

Input

Può essere un valore numerico, un valore stringa o un valore booleano.

Condition

Un'espressione definita usando gli input e le costanti.

Valore Then

Se l'istruzione o l'espressione è true, viene usato questo valore.

Valore Else

Se l'istruzione o l'espressione è false, viene usato questo valore.

noteNota
La lunghezza massima dell'espressione è pari a 1024 caratteri.

Il risultato si basa su una valutazione true o false dell'espressione condizionale.

Se true, viene usato il Valore Then. Se false, viene usato il Valore Else.

Vedere Esempio di operazione If-Then-Else Expression: Servizi BizTalk.

Conditional Assignment

Restituisce un valore da uno dei due parametri di input. Se il primo valore di input è True, viene creato un nodo nel documento di output con il secondo valore di input. Se il primo valore di input è False, il nodo corrispondente non viene creato nel documento di output.

Richiede due parametri di input:

 

Condition

Un'espressione che restituisce un valore booleano. Può essere uno dei collegamenti seguenti:

  • Collegamento da un nodo dell'albero

  • Collegamento da un'Operazione di mapping

Valore di assegnazione

Valore assegnato al nodo di destinazione se la condizione è true.

noteNota
Questa Operazione di mapping può essere connessa esclusivamente a un nodo dell'albero di destinazione.

Se il valore della Condizione è "true", viene creato un nodo con il valore di input Valore di assegnazione.

Vedere Esempio di operazione Conditional Assignment: Servizi BizTalk.

La tabella seguente elenca le funzioni aggiuntive che è possibile usare con qualsiasi Operazione di mapping:

 

Funzione Espressione Descrizione

Exists

Exists(Source_Node_Name)

Richiede un singolo input, ovvero il nome elemento nel documento di origine. Se l'elemento esiste, viene restituito True. In caso contrario, viene restituito False.

IsDate

IsDate(Input1)

Richiede un singolo input del tipo stringa. Il metodo DateTime.TryParse() viene usato per analizzare l'input in un oggetto DateTime. Se l'input viene analizzato correttamente, viene restituito True. In caso contrario, viene restituito False.

IsEmpty

IsEmpty(Input1)

Richiede un singolo input del tipo stringa. Se la stringa è Null o vuota, viene restituito True. In caso contrario, viene restituito False. Se l'input non è un oggetto stringa, viene restituito True.

IsNil

IsNil(Source_Node_Name)

Richiede un singolo argomento, ovvero il nome elemento nel documento di origine. Se l'elemento esiste e xsi:nil è impostato su True, viene restituito True. In caso contrario, viene restituito False.

IsNumber

IsNumber(Input1)

Richiede un singolo input del tipo stringa. Il metodo Double.TryParse() viene usato per analizzare l'input in un valore double. Se l'input viene analizzato correttamente, viene restituito True. In caso contrario, viene restituito False.

noteNota
La virgola "," è supportata come separatore delle migliaia e il punto "." è supportato come punto decimale.

ImportantImportante
Tutte le Operazione di mapping e le funzioni possono essere usate in altre Operazione di mapping e funzioni, ad eccezione di Exists e IsNil. Exists e IsNil puntano a un singolo nodo nel documento di origine.

I Servizi BizTalk consentono di configurare la gestione degli errori e di un nodo Null o vuoto. Il comportamento di gestione degli errori delle istanze di Operazione di mapping di tipo espressione seguenti è configurabile:

  • Logical Expression

  • Arithmetic Expression

  • If-Then-Else Expression

Unità di tempo:

  1. Aprire un Progetto del servizio BizTalk oppure il progetto Elementi del servizio BizTalk in Visual Studio.

  2. Fare doppio clic su una Transform (trfm) per aprire la finestra di progettazione corrispondente.

  3. Nella barra degli strumenti della Transform fare clic su Impostazioni.

Scheda Gestione errori

Nella scheda Gestione errori per le istanze seguenti di Operazione di mapping di tipo espressione sono disponibili due opzioni di Comportamento:

  • Logical Expression:

    • Errore mappa: l'intera Transform viene interrotta. Se si eseguono più istanze di Transform in una pipeline, viene restituito un errore al client che ha inviato il messaggio.

    • Valore di output predefinito false: Se l'Operazione di mapping ha esito negativo, il valore di output restituito è False.

  • Arithmetic Expression:

    • Errore mappa: l'intera Transform viene interrotta. Se si eseguono più istanze di Transform in una pipeline, viene restituito un errore al client che ha inviato il messaggio.

    • Valore di output predefinito - NaN: se l'Operazione di mapping ha esito negativo, il valore di output restituito è NaN (non un numero).

    • Valore di output predefinito - 0: se l'Operazione di mapping ha esito negativo, il valore di output restituito è zero (0).

  • If-Then-Else Expression:

    • Errore mappa: l'intera Transform viene interrotta. Se si eseguono più istanze di Transform in una pipeline, viene restituito un errore al client che ha inviato il messaggio.

    • Output Null/Zero/False in base al tipo di output: se l'Operazione di mapping ha esito negativo, il valore di output restituito è Null/Zero/False in base al tipo di output.

Scheda Gestione dati Null/vuoti

Nella scheda Gestione dati Null/vuoti sono disponibili tre opzioni:

  • Considera i nodi vuoti nelle operazioni di tipo cumulativo: per impostazione predefinita, questa opzione non è selezionata. In questo caso, nell'iterazione non vengono inclusi i nodi vuoti. Se invece l'opzione è selezionata, nell'iterazione vengono inclusi tutti i nodi, compresi quelli vuoti.

    ESEMPIO: in un documento con 10 nodi <record> sono presenti tre nodi <record> vuoti. Se Considera i nodi vuoti nelle iterazioni non è selezionata, l'Operazione di mapping restituisce il valore 7. Se Considera i nodi vuoti nelle iterazioni è selezionata, l'Operazione di mapping restituisce il valore 10.

  • Considera i nodi vuoti nelle iterazioni: per impostazione predefinita, questa opzione non è selezionata. In questo caso, nell'iterazione non vengono inclusi i nodi vuoti. Se invece l'opzione è selezionata, nell'iterazione vengono inclusi tutti i nodi, compresi quelli vuoti.

    ESEMPIO: in un documento con 10 nodi <record> sono presenti tre nodi <record> vuoti. Se Considera i nodi vuoti nelle iterazioni non è selezionata, l'Operazione di mapping esegue l'iterazione sette volte per i nodi non vuoti. Nella destinazione vengono quindi generati sette nodi <record>. Se Considera i nodi vuoti nelle iterazioni è selezionata, l'Operazione di mapping esegue l'iterazione 10 volte per tutti i nodi, inclusi quelli vuoti. Nella destinazione vengono quindi generati 10 nodi <record>.

  • Generazione del nodo di destinazione: Se si configura l'opzione che consente di configurare i nodi vuoti, è possibile decidere di generare o meno un nodo vuoto nell'output. In particolare:

    • Non generare nodi vuoti: opzione predefinita.

    • Genera nodi vuoti.

    ESEMPIO: in un documento con 10 nodi <record> sono presenti tre nodi <record> vuoti. Se Considera i nodi vuoti nelle operazioni di tipo cumulativo o Considera i nodi vuoti nelle iterazioni non sono selezionate, l'Operazione di mapping esegue l'iterazione sette volte per i nodi non vuoti. Nella destinazione vengono quindi generati sette nodi <record>. Se Considera i nodi vuoti nelle iterazioni è selezionata, l'Operazione di mapping esegue l'iterazione 10 volte per tutti i nodi, inclusi quelli vuoti. Nella destinazione vengono quindi generati 10 nodi <record>.

Vedere anche

Mostra: