Paul's Petrov Whiteboard

[BizTalk, Enterprise Application Integration, Business Process Automation, SOA, .NET]

  Home  |   Contact  |   Syndication    |   Login
  67 Posts | 1 Stories | 133 Comments | 30 Trackbacks

News

Archives

Post Categories

Image Galleries

BizTalk

Other

BizTalk

I just finished reading new book on Microsoft BizTalk 2010 written by BizTalk colleagues Kent Weare, Richard Seroter, Thiago Almeida, Sergei Moukhnitski, and Carl Darski. There are many good books that explore core BizTalk features for beginners, intermediate, and advanced developers. This one stands out by the fact that it covers relatively less documented aspect of BizTalk development – integrating with different line of business applications. The subject is vast and diverse so attempt to fit it...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

This example is not covered in the ESB Toolkit samples and I bumped my forehead a few times while making it work. I thought it’d be helpful to save other fellow BizTalk'ers from headaches by publishing findings. I have been fun of dynamic generic messaging for quite a while and went long ways to avoid working with typed messages and static bindings when it made sense. Nowadays, with the ESB Toolkit one does not have to spend much effort to achieve this goal. But one has to learn intricacies of configuration...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Microsoft has released official hotfix related to the problem I described earlier (see: http://geekswithblogs.net/p... The knowledge base article and link to hotfix download are located at http://support.microsoft.co
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Microsoft BizTalk Accelerator for HL7 comes with multiple versions of the HL7 implementation. One of the typical integration tasks is to receive one format and transmit another. For example, system A works HL7 v2.4 messages, system B with v2.3, and system C with v2.2. The system A is exchanging messages with B and C. The logical solution is to create schemas in separate namespaces for each system and assign maps on send ports. Schematic diagram of the messaging solution is shown below: Nothing is...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Repeating sequence groups can often be seen in real life XML documents. It happens when certain sequence of elements repeats in the instance document. Here’s fairly abstract example of schema definition that contains sequence group: <xs:schemaxmlns:b="http:... xmlns:xs="http://www.w3.org... xmlns="NS-Schema1" targetNamespace="NS-Schema1" > <xs:elementname="Repeati... <xs:complexType> <xs:sequencemaxOccurs="1...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

If you experience sequence of errors below with BizTalk HL7 MLLP receive ports you may need to request a hotfix from Microsoft. Knowledge base article number is 2454887 but it’s still not available on the KB site. The hotfix is recently released and you may need to open support ticket to get to it. It requires three other hotfixes installed: · 970492 (DASM 3.7.502.2) · 973909 (additional ACK codes) · 981442 (Microsoft.solutions.btahl7... 3.7.509.2) If the exceptions below repeatedly appear...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

When developing pure messaging solutions (no orchestrations) in BizTalk often there’s a need to apply transformation on the message. BizTalk has out of the box functionality to execute maps on receive (inbound map) and send (outbound map) ports. Sometimes using classic BizTalk map is not the best solution, for example for complex transformations with grouping (for example, using Muenchian Method). In other cases, it’s strongly preferable to keep transformation easily configurable to be able to change...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

When using WCF receive adapter with SQL binding in Polling mode please be aware of the following problem. Problem: At some regular but seemingly random intervals the application stops processing new requests, places a lock on the database and prevent other application from accessing it. Initially it looked like DTC issue, as it was distributed transaction that stalled most of the time. Symptoms: Orchestration instances in Dehydrated state, receive location not picking up new messages, exclusive locks...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

BizTalk 2006 R2 Service Pack 1 Beta 1 has been released. It's available through MS Technology Adoption Program at https://connect.microsoft.c... List of features http://msdn.microsoft.com/e
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Generally, it is not recommended to store passwords in the binding file and by default BizTalk administration UI clears it out when exporting binding to the xml file. But in development environment where you have automated continuous integration build and deployment not having password in the binding file will prevent application from starting and CI process fail. It can become tedious in staging deployments (TEST, UAT) as well, especially if you have multiple endpoints that use accounts with passwords....
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Recently during migration BizTalk project from SQL to WCF adapter had some rather confusing moment. After deploying to test environment WCF ports started generate errors like this: Failed to open Microsoft.ServiceModel.Chan... Faulted Microsoft.ServiceModel.Chan... Faulted System.ServiceModel.Channel... Failed to open System.ServiceModel.Channel... After few frustrating troubleshooting sessions...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

I just installed Microsoft Enterprise Service Bus Guidance framework (November 2007 version for BizTalk 2006 R2). Although lengthy installation process is well documented in the accompanying help file I ran into multiple issues and it took a couple of days to sort everything out. I'd like to mention here major problems/solutions in case somebody decides to go through the same. First, if you install on other than default location (C:/%PROGRAM_FILES% and C:/Projects) make sure to update all scripts...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Uploaded new version of SSO Config Tool including fix for the browsing SSO Config Store application and some usability/UI improvements. Download source code
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Below is an idea how to improve SOAP exception handling in BizTalk to WCF communication. Let’s consider approach recommended in BizTalk SDK documentation (Catch Typed Fault Exception sample): Add custom WCF fault to the service contract and add corresponding exception handler in the BizTalk orchestration. In BizTalk orchestration add hander that expects System.Web.Services.Protoco... to catch any general SOAP exceptions This allows catching any custom WCF faults and handling them gracefully....
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Choice of configuration settings storage is an important topic when it comes to enterprise BizTalk application planning. One of the many options is to use regular .Net configuration files. Some prefer this way over the Enterprise SSO database option for reasons of simplicity and familiarity. I wanted to show how it can be done with Microsoft Enterprise Library configuration application block. In this case Enterprise Library configuration section is placed in the BTNTSvc.exe.config file while application...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

If you store BizTalk application settings in Enterprise SSO database and adapt continuous integration you'll find this MS Build task useful. DeploySSOConfigStore task reads settings from XML configuration file and saves them to the SSO database. The XML can be created (exported) using Richard Seroter's SSO tool which I modified to support this operation. So, if you change your configuration settings, just update XML file in the source control and build process will pick it up and propagate changes...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Richard Seroter published useful utility to store/retrieve BizTalk configuration settings in Enterprise SSO database. I added some more functionality to it. First, I added Export/Import functions allowing to actually save values in the external XML file (Richard's implementation allowed storing only field names, calling for extra work should you delete and restore SSO aplication). I kept file format the same but added values stored as text nodes: <sso> <application name="eCommerce.BizTalk.Con...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

I uploaded source code for the generic BizTalk message broker described in this post
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

This time we'll combine loosely-typed BizTalk messaging concept with dynamic mapping to create generic transformation orchestration. Then we'll add it to the message broker created in the first article to make it even more powerful. Quite often message dispatching task must be combined with some content adaptation: data mapping, filtering, calculation, etc. Generally, maps are used in BizTalk to achieve that. Since maps are based on source and destination schemas we need to find a way to abstract...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Although current BizTalk release does not support .NET generics it does support concept of genericity at the message level. It is possible, of course, through "untyped" messages or messages that don't have specific type attached to their context. Such messages are represented as System.Xml.XmlDocument type in orchestrations. To read more on message typing aspect of BizTalk please refer to this excellent post by Charles Young. I'd like show practical examples of applying generic programming to typical...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Full BizTalk Archive