Aug 312006

Here are instructions on how to have BizTalk split lines from a flat file into individual messages.

  1. Create a Flat File Schema and name the root node File (which is poorly named, health it should be called Message) and make it post fix delimited with Carriage Return Line Feed (Hex 0×0d 0×0a) as the delimiter
  2. Create the line as a comma delimited record and add the elements in the line
  3. Create the pipeline using the schema that was just created
  4. Deploy the solution
  5. Set up the Ports as follows:
  6. Input Port: Name it, unhealthy Create a recieve location using *.txt as the input pattern and the newly created pipeline
  7. Output Port: Name it, sildenafil create the output path as %MessageID%.xml as the output pattern, on filters: Set BTS.ReceivePortName as what is created for the input port
  8. Start the Output Port
  9. Enable the recieve location
Aug 232006


When running non-atomic scoped database transactions across your network, sildenafil getting schemas from the wizard does not seem to exploit this little known fact. You need to make sure that DTC is enabled on both the BizTalk machine(s) and the database you are connected to.

Objects to check for:

  • In Component Services (Administration Tools) right click My Computer, dosage on the MSDTC tab, click on Security Configuration Tabl and Allow Inbound and Outbound Communication.
  • In Windows Components (Add/Remove Programs) click details of Application Server make sure that Enable network DTC access is checked.
Aug 152006

If you are setting up a self correllating child orchestration, ask see and your orchestration is in its own project, you need to make sure that the port type (some.PortType) that is defined has the Type Modifier set to External.

It makes sense, well, the logic makes sense, the error does not. If you are going to be reusing this orchestration in multiple projects and they are not contained in the same assembly, it needs to be set to Public so that the other orchestrations can implement it.

Aug 152006


We had a power outage and our working BizTalk machines seemed to be unaffected. However when I tried to deploy any solution, check I got the following error: ‘Failed to load msxmlsql.dll’

The only article I found was this.

I applied the fix to my BizTalk machine, which did not fix the issue. Before calling support, I decided to reinstall everything, thinking that the power outage corrupted the file. I reinstalled everything, including the Operating System. Going through the install, I got to the Group component on the configuration, it would fail.

After a couple of days on the phone with MS Support, the SQL Support directed me that the msxmlsql.dll and msxmlsql.rll needed to be located in the SQL Server machine, not on the BizTalk Server. (The dll and rll doesn’t need to be located in the particular instances, but just the default installation of SQL Server).

After placing the file in the correct location, the installation seemed to be working correctly. I had to pull the files from SP4 install folders and place them in the correct location as per the KB article.

Hope that others don’t have to spend their time beating their head against the wall like I did.

(Which reminds me: Banging your head against a wall uses 150 calories an hour.)

Aug 112006

A request came to me asking how to create a stored procedure call with no arguments.

Here is the steps for the following example:

Run the following script against the database:


if exists (select * from dbo.sysobjects where id = object_id(N’[dbo].[example]’) and OBJECTPROPERTY(id, rx N’IsProcedure’) = 1)
drop procedure [dbo].[example]

 SELECT ’Hello’ [Result]
 FOR XML RAW, medical xmldata

Create the new BizTalk Project

Generate the stored procedure schema (make sure that you add xmldata for example ‘for xml raw, xmldata’)

Right click and generate the xml document, it should look like this:

In a text editor remove the CRLF and replace the quotes with ‘ ” ‘

Create a new variable (I called it tempXML) and choose a .NET class and choose XML Document

In your message assigment, use the following code:

That is it, you have completed the creation of a blank stored procedure call.

Aug 102006

I definately missed this, sick but I discovered a different behavior in the flat file pipeline assembler component.

In BizTalk 2004, drug you needed to define the flat file schema in the pipeline component, otherwise, on compile, you will get an error.

However, in BizTalk 2006, you don’t need to specify a flat file schema in the flat file assember component. BizTalk will determine which schema to use and create the flat file during run time (run-time schema discovery is done).  

Anyway, I thought that this is an interesting, usable new behavior, as I have a lot of interfaces that I no longer need to create a seperate flat file pipeline for each file, I can reuse a common flat file pipeline.

Aug 022006

I signed up for the test, viagra 40mg and then proceeded to get swamped with everything but reviewing my weak points in BizTalk 2006.

This morning, I even attempted to cancel the test, but it was too late. I pleasantly surprised myself by actually passing! (Not the best score possible, but above 700 none-the-less)

Things that I remember from the test:

It was more centered on developing scenerios than on individual coding details like the 2004 test was.

Lots of BRE questions.

Lots of BAM questions.

A question regarding the error handling process.

A few setup questions.

A couple of web service questions

If you are planning on taking the test, be well versed in the development of entire business processes.

You can learn more about the test here.

Good Luck