Pregunta

he encontrado algunos hilos rotos a través de la web donde las personas dicen ser capaces de utilizar formas recibir en una orquestación con tipos XLANGMessage recibir archivos de esquema de archivo plano que no podía ser montado en un xsd específica.

He intentado definir los MessageType en la forma como se reciben Microsoft.XLANGS.BaseTypes.XLANGMessage, pero esto no es serializable BaseType. Esto provoca un error de compilación.

¿Hay un tipo de objeto que puede capturar tanto XmlDocuments de mensajes XML bien formados, así como XML mal formado y sin montar con archivos planos?

¿Fue útil?

Solución

En respuesta a su pregunta directa en negrita -. Sí, el tipo que está después es System.Xml.XmlDocument

Lo que hay que hacer es crear un nuevo mensaje y la hora de seleccionar su tipo, seleccione el tipo anterior de la sección de clases de .NET.

Este mensaje cuando se asignen a una forma de recibir a continuación, puede recibir cualquier carga útil, por ejemplo, he utilizado a menudo esto para pasar formatos tales como archivos .pdf a través de BizTalk donde tenía ninguna necesidad de analizar ellos. No tenga en cuenta, sin embargo, que a pesar del nombre, lo que tenemos aquí no es XML y hará que todo tipo de problemas si intenta tratar como tal.


Para profundizar un poco más en su pregunta - ¿Estás tratando de hacer algún tipo de error orquestación manipulación

Si usted es entonces en el manejo de su código de error sólo puede tener una forma Recieve que recibe un mensaje de tipo XmlDocument con su conjunto expresión de filtro a ErrorReport.ErrorType == "FailedMessage" que está enlazado a un puerto enlazado directamente conectado a el cuadro de mensaje.

A menudo me he encontrado que es útil para tener dos reciben formas, uno para atrapar errores de enrutamiento, cuando tenemos ninguna carga útil posible, y otro para suscribirse a un fuerte Tipos de fallos sobre envoltorio que defina y fuera de sus otras orquestaciones de sus formas CatchException.

Esto significa que usted puede entonces construir un lugar centralizado para manejar todas las excepciones.


Si no lo ha visto, hay un bonito mensaje por Charles Young que puede describir algo similar a lo que está tratando de hacer.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top