Monday, December 29, 2008

How XMLDisassembler gets Schema from Database

If the schema is not specified in the configuration of the XMLReceive pipeline then it takes the root namespace from the received message and on the basis of that it gets the schema from the BizTalk database, and if it does not find it then gives an error.
Makes sense.

Tuesday, December 23, 2008

Message Box Viewer tool

I got really a great tool , which helps me to find out the internals of BizTalk Message Box database. this tool really helps me in my Support activity.

Monday, August 25, 2008

MacBook Rocks.....

I am now full time user of Macbook .. recently i switched from PC to Mac.. and this is really awesome!!!!

i am using VMWare fusion to run windows, just for ususal office work like BizTalk ,VS,SQL server ..
and the performance is rocking....

Tuesday, July 29, 2008

Monday, July 21, 2008

How to reduce size of Tracking Database BizTalkDTADb

There are 2 ways,
1- purge the BizTalkDTADb with archive options
2- purge the BizTalkDTADb with no archive option.

when to use what?
if the old tracking information is not required at all then use the 2nd option other wise use the first option with the relevant arguments .
see following article to run the commands.
http://msdn.microsoft.com/en-us/library/aa578470.aspx

Monday, July 14, 2008

BAM GUI

I found this new BAM gui very useful.

http://www.codeplex.com/bamgui

Saturday, July 12, 2008

Friday, July 11, 2008

Saturday, July 5, 2008

Start Orchestration usage?

start orchestration shape is used to start another orchestration asynchronously,the shape causes a new instance of the another orchestration via MessageBox.This MessageBox hop adds a new performance overhead on a application.
So the question is why and when use this Start shape ..?
-consider a case where the outcome of the another orchestration is not required and is a time consuming process.
so can create a new sub orchestration and host that on a another server.so the main orchestration continues its processing while the sub orchestration processing is taken care by another host.hence does not affect the processing/latency of the main orchestration.

BizTalk Message Box Database

just reading this amazing blog from msdn..

Persistence points in BizTalk

BizTalk engine saves the information of the running Orchestrations instances in the SQL server database at certain points while execution. This may impact the latency of the application.
Following points should be noticed while designing the Orchestrations.
Persistence Points-
1- at the end of the orchestration.
2- after every send shape( but if the send shape is in an Atomic Shape, then persistence point will be at the end of the Atomic Shape).
3- at the end of every transactions ( long running or atomic).

Friday, July 4, 2008

Untyped Message processing in BizTalk

processing of untyped messages in biztalk is very powerfull feature , but it should be used carefully while writing an orchestration to receive this type of message.
Following key points should be keep in mind.
1- an untyped message should not be directly bound to message box. As all the message type is derived from base type which is System.xml.xmlDocument.
2-it is not possible to map on a send port because the messagetype property is not promoted for the untyped messages, which is required to match a message.

Thursday, July 3, 2008

BAM Portal view is not showing data

Created a BAM activity and a View to use the BAM portal feature for on of my project.
everything was fine, application was populating data in the activities table and view was showing data from the SQL BAMPrimary Import database.
but when i tried to see the data using the default BAM Portal, i could see the View but data was not coming.
there could be lots of reasons for this... will write more about it in other posts... but this time i encountered this...
error was like this
"It says security settings on this machine does not allow data from remote machine"
then i goggled some blogs and found the solution

IE settings needs to be changed..
security-trusted sites-custom level-check radio for - download data from remote.

and restarted the IE it worked for me...

Promoting BizTalk schema properties into the message context using Orchestrations

i was reading some stuffs on net about this, and came across following post , it is great , i tried with some code and it did not work at all.............

spend some time to figure out why it is not working....
then
.. i realized that the property is not getting promoted at all...

so .. i figured out the gotcha in this post...
some thing is missing...

Moral of the story--- need to create a correlation set then assign that correlation on set port to promote the values.....
and it worked...
so ... following rules to follow...

scenario1- i want to implement content based routing , using a custom property which is not present in the schema ( so in message) and i can not modify the schema as it is from third party schema.

So what will i do...?

1- create a property schema.
2- cerate a element in the property schema say "EmployeeType" ( so it will be available in the orchestration expression shape to modify or set)
3- there is property of the newly cerated element ( on step2) called "MessageContextPropertyBase"
set its value to "MessageContextPropertyBase" now what is this...? msdn says this property indicated biztalk base class which is used when generating .net type of this property.

4- open your schema, and refer to this property schema ( click root node of the schema->Promote->show Promotions , this opens a new window , click on "Property Fields" on the right hand side tab, click on the folder icon, and browse for the property schema , which you have created on step 1 )
5- build the schema project.
6- open the orchestration where you want to publish the message.
6- in the message assignment shape
message_1(... .
EmployeeType ) = set the value..
7- till here everything is fine and great.

8- now how the property will be promoted. yes assigned the value, but how it will be promoted for the content based routing.
9- i think message box will be promoting it ??? right.
10- so create a new "Correlation Types"
11- in the correlation properties select the property which you want to promote (select the created property from the property schema)
12- create a new correlation set, select the created correlation type ( crated on step 10).
13- final .... select the send shape which is sending the message to message box, and set the "Initializing Correlation sets" property to the cerated correlation set on step 12.

build the solution deploy and test it... by setting the filter property on send ports...

enjoy...







Correlation set may be initialized only once

I was just trying a simple task to complete in BizTalk Orchestration.. i have created a custom property in my property schema and added the reference of that in the schema.
then assigned the value of the custom property in the message assignment shape like

Message_1 (mycustomproperty.customertotalamout) = 100;


i did this because i wanted to route my messages on the basis of the "customertotalamout" ..
everything is fine till this point.
then i added a
correlation set
Correlation_1

then when i tried to set the property at send port to follow the correlation set,
the compiler gave me following error

" Correlation set may be initialized only on".............

i had no idea what it was happening..
then i saw some post on net.. and figured out that i was doing this in a scope and there was already a global correlation set defined.
then
i defined the co
correlationset_1 in the scope that i was using to send my message....

and then it worked........
Hope this will help someone..