Domanda

Ho trovato alcuni fili rotti in tutto il web dove le persone sostengono di essere in grado di utilizzare ricevere le forme in un'orchestrazione con i tipi XLANGMessage di ricevere file di schema di file flat che non poteva essere assemblati in una specifica XSD.

Ho cercato di impostare il MessageType nel ricevere forma come Microsoft.XLANGS.BaseTypes.XLANGMessage, ma questo non è BaseType serializzabile. Questo poi causa un errore di generazione.

C'è un tipo di oggetto che può catturare sia XMLDocument di messaggi XML ben formati così come xml malformati e non assemblati file flat?

È stato utile?

Soluzione

In risposta alla tua domanda diretta in grassetto -. Sì, il tipo si sta dopo è System.Xml.XmlDocument

Quello che dovete fare è creare un nuovo messaggio e quando si seleziona il tipo, selezionare il tipo di sopra dalla sezione classi .NET.

Questo messaggio quando viene assegnato a un ricevere forma può quindi ricevere alcun payload, per esempio, ho spesso usato questo per passare formati come file .pdf attraverso BizTalk in cui ho avuto bisogno di analizzare loro. Tenete presente, tuttavia, che nonostante il nome, quello che avete qui non è Xml e ti farà ogni tipo di problema, se si cerca di trattare come tale.


Per scavare un po 'più nella tua domanda? - stai cercando di fare una sorta di gestione degli errori orchestrazione

Se siete poi nella gestione della tua codice di errore si può solo avere una forma recieve che riceve un messaggio di tipo XmlDocument con la sua serie di filtro a ErrorReport.ErrorType == "FailedMessage" che è associato a una porta legato direttamente collegata al la finestra di messaggio.

Mi sono spesso trovato comodo avere due ricevono forme, uno per la cattura di routing fallimenti, quando abbiamo ogni possibile carico utile, e un altro per sottoscrivere un forte guasto tipi busta wrapper che si definiscono e passiamo dalle vostre altre orchestrazioni dalle loro forme CatchException.

Questo significa che è possibile costruire un luogo centralizzato per gestire tutte le eccezioni.


Se non avete visto, c'è un bel messaggio da Charles Young che potrebbe descrivere qualcosa di simile a ciò che si sta cercando di fare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top