Condividi tramite


Come configurare il modello Send

Immagine che rappresenta il simbolo Send.
Invia forma

Se si prevede di ricevere una risposta indiretta o asincrona (non usando una porta request-response) al messaggio inviato, è necessario correlare il messaggio con l'istanza attualmente in esecuzione dell'orchestrazione, in modo che il risponditore possa ottenere la risposta all'istanza corretta. È possibile applicare un set di correlazione seguente alla forma Send per una correlazione inizializzata in precedenza oppure è possibile applicare un set di correlazioni inizializzato. Per altre informazioni, vedere Uso delle correlazioni nelle orchestrazioni.

Per configurare una configurazione di invio

  1. Impostare un messaggio e un'operazione di porta.

    1. Nella finestra Visualizzazione orchestrazione, verificare che l'orchestrazione abbia sia un messaggio che un'operazione di porta definita per il tipo di messaggio multipart da inviare.

    2. Nella finestra Proprietà selezionare il messaggio da inviare dall'elenco a discesa Proprietà messaggio .

    3. Nella finestra Proprietà selezionare l'operazione di porta che invia il messaggio dall'elenco a discesa Operazione porta .

      —Oppure—

      Trascinare il connettore di trasmissione dalla forma Invia al socket della porta che invia il messaggio.

  2. Specificare i set di correlazione per limitare i messaggi che la forma Invia invierà o inizializzerà i valori in un set di correlazioni.

    1. Per ogni set di correlazione da usare, controllare un set di correlazione dall'elenco a discesa nella proprietà Set di correlazioni seguenti .

    2. Per ogni set di correlazioni che si desidera inizializzare, selezionare un set di correlazione dall'elenco a discesa nella proprietà Initializing Correlation Sets.

Notifica di recapito

Per verificare se un messaggio è stato inviato correttamente su una porta di trasmissione, completare la procedura seguente:

  1. Inserisci il modulo Send in un ambito non transazionale, a lungo termine o atomico.

  2. Sulla porta di trasmissione impostare la proprietà DeliveryNotification su Trasmissione.

  3. Aggiungere un gestore delle eccezioni all'ambito per gestire una DeliveryFailureException.

    Annotazioni

    Se la forma Send è contenuta all'interno di un ambito atomico, l'eccezione DeliveryFailureException può comunque essere intercettata, ma richiederà l'aggiunta di una forma di ambito esterno con un tipo di transazione impostato su Long Running o None. Gli ambiti atomici non sono in grado di intercettare direttamente le eccezioni.

    L'orchestrazione attende di ricevere un riconoscimento alla fine dell'ambito non atomico che la racchiude, o alla fine dell'orchestrazione stessa.

Annotazioni

Questo vale solo per le operazioni unidirezionali; un errore nelle operazioni bidirezionali (request-response) comporta una SoapException (negativo di conferma) anche se l'attributo della porta non è impostato.

Annotazioni

Le notifiche di consegna non sono supportate per l'associazione diretta.

Vedere anche

gestione degli errori