by stephen-w-thomas | Jul 12, 2005 | Stephen's BizTalk and Integration Blog
Envelopes can be used with the Xml Disassembler in Biztalk 2004 to break up larger Xml messages into single messages. Another approach to message debatching is to use xpath in a loop inside an Orchestration. Both these approaches are covered in this Message Debatching Options Lab for Biztalk 2004.
This lab will take around 40 minutes to complete and is based on Microsoft’s hands-on-labs.
Download: Message Debatching Options Hands-on Lab
Setup is simple. Unzip the download to your c:\ drive. Make sure the root folder named “Microsoft Hands-On-Labs” is located at c:\. The lab manual is located under \ILL009_Debatching. The exercises are located in the \Source\Exercises folder. The full sample solution is located in the \Source\Solution folder.
This lab is recommended for beginner and above biztalk users looking to learn more about message debatching in biztalk.
by stephen-w-thomas | Jul 7, 2005 | Stephen's BizTalk and Integration Blog
Jon Flanders has posted an excellent template wizard for implementing enterprise integration patters in BizTalk Server. Once installed, it will put a folder called Pattern Templates under your BizTalk Projects folder in Visual Studios.
This wizard will walk you through the creation of the patterns step-by-step. It creates correlations sets, messages, and orchestrations for you.
It covers Asynchronous Aggregation, First-In First-Out (three different types), Interrupter, and Retry.
Get more information and download the wizard from Jon’s blog.
by stephen-w-thomas | Jun 27, 2005 | Stephen's BizTalk and Integration Blog
What are Promoted Properties and why does BizTalk have them?
Long and short of it: Property promotion is about getting easy and fast access to data.
Easy: Because you typically do not have to know anything about your data to get access to it. Example: Message(some property). Rather then some long and error prone xpath query.
Fast: Because you do not have to load the whole message into memory to get access to the data. It is placed inside the message context (a collection of key-value pairs that are associated with a message).
BizTalk provides two different types of promoted properties based on what you want to do with the data. The two types are Promoted Properties and Distinguished Fields.
Distinguished Fields are light weight and only accessible inside an Orchestration. They could be used inside a decision shape or for extracting data out of a message for dynamic routing. They are read/write so it provides an easy way to change values inside your message without using a map – such as updating a status field.
Promoted Properties are system wide but could also be used like
Distinguished Fields. They are “more expensive” then Distinguished Fields and typically should only be used when you need to do Context Based Routing on these values. These are also read/write (in most cases). BizTalk Server provides several context properties but you can create as many more as you like using a custom property schema.
How does something get promoted? A lot of items are promoted by BizTalk for you at various points in the process. You can also promote items yourself using Promotion inside a schema or by using a custom pipeline. It all depends on what you want to accomplish.
More information on Promoted Properties can be found inside the help guide.
by stephen-w-thomas | Jun 21, 2005 | Stephen's BizTalk and Integration Blog
Have you seen this error when installing BizTalk 2004?
Failed to deploy BizTalk system assembly “C:\Program Files\Microsoft BizTalk Server 2004\Microsoft.BizTalk.GlobalPropertySchemas.dll”.
Unspecified exception: An error occurred while enlisting in a distributed transaction.
I ran into this a few weeks ago when trying to install BizTalk 2004 on a Windows 2003 Server with SP1 preloaded and using a remote SQL Server.
It appears that like Windows XP SP2, Windows SP1 changes some DTC settings. This does not affect BizTalk when SQL is running locally of course.
After working with Microsoft Support for about 2 days. It turned out that the fix is rather quit easy. In our case, we had some other issues that made it seem much more complex then it was.
To correct this problem, go to Component Services, My Computer Properties, DTC tab, and then Security Configurations (bottom left).
1. Follow the standard BizTalk Installation instructions for setting up DTC.
2. Under Client and Administration, make sure “Allow Remote Clients” is checked.
3. Under Transaction Manager Communication, make sure “No Authentication Required” is checked
The end result was changes to two registry settings:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
\MSDTC\AllowOnlySecureRpcCalls is now 0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
\MSDTC\TurnOffRpcSecurity is now 1
The UI now looked like this:
by stephen-w-thomas | Jun 16, 2005 | Stephen's BizTalk and Integration Blog
With the release of BizTalk 2006 Beta just around the corner, why not get a head start by seeing how to call a Receive Pipeline from within an Orchestration.
For starter, why would you want to call a Receive Pipeline from within an Orchestration? I had to struggle for a bit to come up with a good reason… I can find it useful in debatching Scenarios that require mapping prior to debatching or for debatching into smaller batches using a map. I could also find it useful when working with flat file.
Limitations: Calling a Receive Pipeline inside the Orchestration does not support recoverable interchanges (more on this later) and it must be run inside an Atomic Scope.
Super Cool: Supports receiving multiple messages returned from the pipeline and can use enumeration to process each message.
The sample shown below receives a message of type XmlDocument into the Orchestration. A Receive Pipeline is called to Debatch the message using an Envelope Schema. A loop shape is used to enumerate over the resulting messages and send each single message. In addition, references are needed to Microsoft.XLANGs.Pipeline and
Microsoft.BizTalk.Pipeline.
The CallPipeline Expression Shape contains the following line of code:
InputPipeline = Microsoft.XLANGs.Pipeline.
XLANGPipelineManager.ExecuteReceivePipeline
(typeof(CallReceivePipeline.ReceivePipeline),msgFullMessage);
With InputPipeline defined as an Orchestration Variable of type Microsoft.XLANGs.Pipeline.ReceivePipelineOutputMessages
GetEachMessage will loop the collection using MoveNext like this:
InputPipeline.MoveNext()
Finally, the single messages are assigned inside the Message Assignment shape like this:
msgSingle = new System.Xml.XmlDocument();
InputPipeline.GetCurrent(msgSingle);
With msgSingle defined as an Orchestration Message of a specific schema type.
It is that simple! In about 5 lines of code the Receive Pipeline can be executed inside on Orchestration in BizTalk 2006!
Download: Sample Receive Pipeline in BT2006
Do not forget to view all my other samples at http://www.biztalkgurus.com
Please note this sample is based on pre-beta code (CTP Build) of BizTalk Server 2006. This may not work on other builds, RTM, etc.
If you do not have Visual Studio 2005 Beta 2 and BizTalk 2006 installed you can still download and view the artifacts (like the Orchestration). You will not be able to open the project or run the sample.
by stephen-w-thomas | Jun 16, 2005 | Downloads
This sample shows how to use a Receive Pipeline inside an Orchestration in BizTalk Server 2006. A loop shape is used to enumerate over the resulting messages and send each single message. This is based on BizTalk Server 2006 CTP Build.
This sample should work with BizTalk 2006 and BizTalk 2006 R2.
Get more information from the original blog post on this topic: http://www.biztalkgurus.com/biztalk_server/biztalk_blogs/b/biztalk/archive/2005/06/16/how-to-call-a-receive-pipeline-in-an-orchestration.aspx
by stephen-w-thomas | Jun 12, 2005 | Stephen's BizTalk and Integration Blog
Curious on how you can use Sharepoint, InfoPath, and BizTalk 2004 together? This hands on lab will take you through a simple integration scenario step-by-step using Sharepoint and InfoPath to display delivery exceptions using Delivery Notification inside an Orchestration using BizTalk 2004.
This lab will take around 60 minutes to complete and is based on Microsoft’s hands-on-labs. Sharepoint (or Windows Sharepoint Services) and the Sharepoint Adapter for BizTalk 2004 (available on GotDotNet) are required.
Download: Sharepoint-InfoPath Hands On Lab
Setup is simple. Unzip the download to your c:\ drive. Make sure the root folder named “Microsoft Hands-On-Labs” is located at c:\. The lab manual is located under \ILL019_InfoPath. The exercises are located in the \Source\Exercises folder. The full solution is located in the \Source\Solution folder.
Although newbie’s to BizTalk can complete this lab, it covers advanced topics. If you are new to BizTalk, do not get discouraged if you find this lab difficult.
by stephen-w-thomas | Jun 12, 2005 | Stephen's BizTalk and Integration Blog
Here is a 45 minute, step-by-step lab showing how to use the Flat File Disassembler, Delivery Notification, and a Sequential Convoy to map a large flat file document in BizTalk 2004. This lab will break up a large flat file into single messages, map each message, and write the ordered output to an output file.
This lab takes you through it in three Exercises. It is based on Microsoft’s hands-on-labs.
Download: Sequential Message Processing Hands On Lab
Setup is simple. Unzip the download to your c:\ drive and run the included binding file to create the send and receive ports used in the lab. Make sure the root folder named “Microsoft Hands-On-Labs” is located at c:\. The lab manual is located under \ILL010_Convoys. The exercises are located in the \Source\Exercises folder. The full solution is located in the \Source\Solution folder.
Although newbie’s to BizTalk can complete this lab, it covers advanced topics. If you are new to BizTalk, do not get discouraged if you find this lab difficult.
by stephen-w-thomas | Jun 12, 2005 | Downloads
This lab will take you through a simple integration scenario step-by-step using Sharepoint and InfoPath to display delivery exceptions using Delivery Notification inside an Orchestration. Windows Sharepoint Services, the Sharepoint Adapter for BizTalk 2004, and InfoPath SP1 are required.
Get more information from the original blog post on this topic: http://www.biztalkgurus.com/biztalk_server/biztalk_blogs/b/biztalk/archive/2005/06/12/biztalk-integration-with-sharepoint-and-infopath-lab.aspx
by stephen-w-thomas | Jun 12, 2005 | Downloads
This lab will show you step-by-step how to use the Flat File Disassembler, Delivery Notification, and a Sequential Convoy to map a large flat file document.
Get more information from the original blog post on this topic: http://www.biztalkgurus.com/biztalk_server/biztalk_blogs/b/biztalk/archive/2005/06/12/sequential-flat-file-message-processing-lab.aspx