Jul 182007
 

Once upon a time there was a client that wanted to save all of the data that BizTalk dealt with into a table for further research. Now there is another client that has asked for the same request “We want to store the BizTalk XML message into a database”

Since it has come up now twice, I might as well publish to everyone how you do it.

In your orchestration, you have a long running orchestration with an atomic scope.

As a orchestration variables, you define the following:

Identifier Type
Message System.String
InputMsg {Input schema}

As a scope variables, you define the following:

Identifier Type
StringWriter System.IO.StringWriter
TempXmlData System.Xml.XmlDocument
XmlTextWriter System.Xml.XmlTextWriter

The expression shape in your scope, you have the following code:

TempXmlData=InputMsg; StringWriter=new System.IO.StringWriter(); XmlTextWriter=new System.Xml.XmlTextWriter(StringWriter); TempXmlData.WriteTo(XmlTextWriter); Message=StringWriter.ToString();

Now you have the data available to inject into your insert statement that will be sent to the data repository, along with any context data you want to send along with it.

I have received a few questions as to where the StringWriter was. I always thought that there might be a difference between Visual Studio 2003 (when I wrote this) and the later versions of Visual Studio.

I created a test solution again in BizTalk 2009 and found it. If you try to add the references and look in the System you will not find it!

According to the documentation it is in the mscorlib.dll

StringWriterReference

So if you look in the References, not in the System you will find it:

StringWriter

  • Why didn’t you choose to use the BAM infrastructure?

  • I think that what you are referring to is the BAM api that can do this, but both cases were using BizTalk 2004 and I wasn’t sure about the api features in BizTalk 2004, and I already used this feature already so I knew it worked.

  • Javak

    I am using Biztalk Server 2006 R2 – there is no variable type System.IO.StringWriter…

    Which type do I use?

  • Cameron McNab

    I am trying to consume a web service that uses onyl System.String for the request. I have found several different methods to convert the message, but all of them add <string><\string> to the xml and the other end throws a SOAP exception ‘invalid xml root node’ It sees <string>. as the root.

    Any ideas?

  • Jen

    I want to insert HL7 message into sql table. Can the above code be used for multipart messages?

  • That was an inspiring post,
    I think you can use it

  • I’ve never been so excited reading a blog as it touches me personally.

  • lv

    I’m very like this post.

  • I want to express my admiration of your writing skill and ability to make reader to read the while thing to the end. I would like to read more of your blogs and to share my thoughts with you. I will be your frequent visitor, that’s for sure.

  • Nicole Thompsen

    Si el conductor de DVD ha estado instalado correctamente y el pozo usado los discos del ajuste y el formato se ha hecho de la manera required, el laser debe trabajar bien. Y quién sabe, usted puede ser que apenas consiga a una clase de Windsor Pilates o usted puede ser que esté en la sección de Windsor Pilates DVD en un almacén y parezca a muchacha que usted puede ser que esté interesado adentro. Usted podría incluso comenzar una sesión del entrenamiento en su hogar con su nuevo Windsor Pilates pandora bracelets invitando a sus nuevos amigos al entrenamiento con usted usar el Windsor Pilates DVD. Una desventaja importante de esta utilidad es que está utilizada para vender el material con derechos de pandora bracelets. La otra cosa no le dicen realmente que sobre los registradores de DVD es que están construidas al destruct del uno mismo mientras que los lasers agotan eventual, mientras que el pandora bracelets solamente y los registradores externos de la computadora DVD son relativamente baratos, ellos no duran generalmente más que uces par de años antes de que sus lasers analicen. El vídeo se puede almacenar en el CD, pero jugará solamente en una computadora a menos que haya sido creado como CD del vídeo por el software pagado. La eficacia total excelente, las altas velocidades de la escritura, el funcionamiento ardiente de estándares industriales y los paquetes del software que son muy comprensivos son las características de este conductor. UN CD es un disco compacto pre-pressed que contiene los datos que se pueden leer por una computadora y un número de otros jugadores pero no se puede escribir encima. � del �Blu-rayo mientras que un solo disco acodado usar esta tecnología lleva a cabo alrededor 15 GB de datos, un disco acodado doble llevaría a cabo 30 GB de datos. Cuando en un paseo del plano por varias horas, usted es feliz con el pedacito más leve de la hospitalidad. Tapar el nano en la computadora usar el cable incluido del USB. Creado por tres escritores que trabajaron en la amplia gama de comedias de enredo, tales como la demostración de Cosby (1984) y Roseanne (1988), las mejoras para el hogar son uno de un número de los años 90 rompen las comedias de enredo del golpe construidas alrededor de un personaje principal que stars como cómico de pie en vida real. Es relativamente simple lograr, apenas algunos pasos y un poco rato de convertir su DVD encima a una transferencia directa amistosa del iPod. Potter), harkens de nuevo a una época más simple en que prevalecieron las actitudes públicas hacia moralidad, donde los vecinos se conocían por nombre, y donde las comunidades se ayudaron hacia fuera. Haciendo su principio en la caída de 1985, las muchachas de oro se establecieron rápidamente como accesorio en la noche del sábado de la televisión de la pandora bracelets de máxima audiencia. Un reproductor de DVD dual de la pantalla es una gran inversión si usted hace mucho encendido viajar del camino. DVDs cambió la experiencia entera de la hospitalidad. significa que necesita software del especialista corregir – usted no puede apenas utilizar a su asiduo. Con sobre 10 diversos tipos de RAM de DVD, el éxito para esta compañía se garantiza.

  • Neelam

    I found it very usefull to solve my problem

  • Craig

    This is what I use to save my messages to strings: (using your variable names)

    TempXmlData=InputMsg;
    Message = TempXmlData.OuterXML;

  • this has help me to attain my goal thanks

  • Sally

    What is BAM infrastructure? Just want to knew it.
    rover parts

  • The BAM infrastructure is a way to provide analytics to you BizTalk (or any other operation if you are licensed for BizTalk), what is being referred in the comments is the is the ability to add ‘large’ objects to BAM. Look at the last argument in this article: http://msdn.microsoft.com/en-us/library/aa956648(BTS.20).aspx

  • A good website recommend to
    you: http://www.goahats.com they sell New Era Hats, Monster Energy Hats,wholesale new era hats, Dc Shoes Hats, Red Bull Hats,New Era Caps,NFL Hats And Famous Hats at cheap price.

  • Thanks man for the post.

  • Thank you for sharing, it is so great. And if you are free you can go to my website and see the fashion boots and health shoes.
    http://www.emubootsmall.com
    http://www.mbtshop.us

  • We wholesale hats at competitive price,providing a huge range of hats with different brand name,such as coogi hats, polo hats,Jordan hats,famous hats, dc shoes hats,new era hats, etc.You can buy cheap hats.

  • We Red Bull Hats at competitive price,providing a huge range of hats of different teams

  • It’s so great that you share this tutorial. I searched for them for few weeks. Thanks bro

  • Thanks. I had overlooked that box above the quickfix list. I’m going to give it a try.