October 2004 Entries
I was working with a schema this week that had an <xs:date> type in it. I loaded the schema into BizTalk and set the <xs:date> field to be a distinguished property. When accessing the property I noticed that it had converted the xs:date property to a System.DateTime type. What had happened was that the date had been converted to UTC format behind the scenes; From the bizTalk docs (If the datetime format does not specify time zone or UTC format, the time is assumed to be local and is converted...
I have a scenario where I receive a Purchase Order named as PO_.xml where ID is a unique identifier contained within the message. I need to send back POCAN_.xml or POACK_.xml through the same send port where ID is the same ID I received with the original PO. I could use a dynamic port to achieve this but I want to be able to define my transfer type at run time through a binding file. I also want to be able to support numerous transfer methods without changing any code. The solution overwrite the...
A couple of excellent resources, that I am now using to help document integration architectures: Integration Patterns with BizTalk Server 2004 - http://www.eaipatterns.com/... Test-Driven Development in Integration Projects - http://www.eaipatterns.com/...
I have been working on a few BizTalk solutions recently that don't have dependencies on SQL or external assemblies. Within these projects I have needed to get access to configuration information such as “process time out value” or “notification email address”. I have found it particularly useful to use the Rules Engine that ships with BizTalk to store such values. Why? The rules engine is installed by default on any machine running BizTalk. There is no need to modify the “BTSNTSvc.exe.config&...
I have a large number of messages that are passed into an orchestration/ split in the incoming pipeline and then passed one by one into a Rules Engine policy. I have discovered when I am processing hundreds of instances at once I ocassionally get the following exception raised in HAT. "Microsoft.RuleEngine.RuleS... Ruleset is too complex and translation cannot complete within the configured translation timeout interval." This is because BizTalk 2004 does not throttle...
This one is a particularly annoying problem especially if you are using the Nant build (thanks again Scott Colestock http://www.gotdotnet.com/wo... If you have as a final step in your build a “bounce BizTalk service step” or when I un-enlist Orchestrations and tick the box to stop the BizTalk host... you will no doubt have encountered this wee gem on at least one occasion... I know it has been flying round our office like...
This one will get you when you start working with large schema's like XCBL... http://www.xcb.org don't get me started on those recursive imports... Windows WMI is used to enlist orchestrations when you use the BizTalk administration window on a server or a Nant build thanks Scott Colestock http://www.gotdotnet.com/wo... By defalult WMI is set to use a memory quota of 128MB and when you try to enlist an orchestration that uses more memory...
I was working on a project where we needed to send messages from BizTalk to and HTTPS web page on a server that was running HTTP 1.0 and didn't support HTTP Chunked Encoding... http://www.w3.org/Protocols... The BizTalk 2004 HTTP adapter automatically chucks http posts into 48kb blocks, it has been discovered that when sending messages larger than 48kb to web servers that don't support chucking the following error will be raised in the event log - "The adapter failed to...
A bit about me... I live in Auckland, New Zealand... I am a senior developer for www.intergen.co.nz... I have been building solutions in BizTalk 2004 since the beta version was released at the start of the year… I’ve put together this blog to share with the community some of the knowledge I’ve gained over working with BizTalk over the last 12-18 months... I'm going to use this blog to talk specifically about BizTalk and I will break off into categories to help keep some sort of...