Fase di mapping (Elaborazione di interscambio reversibile)
Per impostazione predefinita, quando si verifica un errore in un messaggio di un interscambio nella fase di mapping di una porta di ricezione, verrà sospeso l'intero interscambio. È possibile modificare questo comportamento aggiungendo una proprietà denominata BTS. SuspendMessageOnMappingFailure nel contesto del messaggio e impostando il valore della proprietà di contesto su True
da un componente della pipeline. Quando questa proprietà è impostata su True
, la gestione del punto finale inserisce il messaggio che non è riuscito durante il mapping nella coda sospesa e continua a elaborare messaggi rimanenti nell'interscambio.
Il codice seguente imposta il valore della proprietà SuspendMessageOnMappingFailure su True.
public IBaseMessage Execute(IPipelineContext pc, IBaseMessage inmsg)
{
bool bSuspend = true;
inmsg.Context.Write("SuspendMessageOnMappingFailure", "http://schemas.microsoft.com/BizTalk/2003/system-properties", bSuspend);
…
}