Tag | BizTalk Posts

Using maps in a Microsoft BizTalk orchestration is pretty straightforward – create your source and destination schemas, map from one to the other, drop a Transform shape onto your orchestration, and configure the source and destination messages. But what if you need to apply different maps based on some property inside the message, or even who the message is coming from? In our case, we process X12 837 healthcare claim files. In the X12 schemas, the same piece of information can be stored in different ...
Never overlook any property, this is the conclusion I have come to after diagnosing a tricky bug…Here is what happened. Scenario I had an orchestration orchA that consumed messages submitted by a one-Way HTTP receive port, which routed a transformed copy of the message to another orchestration orchB. When an error occurred in orchB, an ESB fault was generated with the input message attached to it and the fault was then sent to the ESB Exception Db. A classical error handling scenario… When resubmitting ...
Say that you have an incoming BizTalk message with many repeating nodes, and you want to process each one the same. The easiest thing to do would be to use the envelope to split the single message into multiple messages, then have multiple instances of your orchestration handle each one (similar to how the HIPAA “multiple” message schemas work). But what if you need to do some work after every individual message has been processed? I’ll show you how to use the Loop functoid along with xpath queries ...
In a previous post I demonstrated how to use the Flat File Mapping Wizard to map a NACHA financial file, and at the end I said I’d follow up with a post on setting up the pipeline and preserving the header information. Well, I totally forgot about that until someone asked where the post was, so here it is… Begin by creating the three schemas as shown in the previous post. Add a pipeline to the project, and drag the Flat file disassembler component from the toolbox to the Disassemble stage. Right-click ...
I am sure many of us must have faced this issue. Problem:My flat file schema has an optional record and marked with a tagidentifier. we would think that the input message without that optional record will pass the schema validation. But by default Biztalk throws an error about the missing record if we try to 'Validate the instance' in the Biztalk mapper. Resolution:On the schema node, set Parser Optimization to “Complexity” instead of thedefault "Speed" optimization ...
BizTalk’s HIPAA X12 schemas have several repeating date/time segments in them, where the XML winds up looking something like this: <DTM_StatementDate> <DTM01_DateTimeQualifier... <DTM02_ClaimDate>2012... </DTM_StatementDate> <DTM_StatementDate> <DTM01_DateTimeQualifier... <DTM02_ClaimDate>2012... </DTM_StatementDate> The corresponding ...
Introduction I’ll be presenting a session at Sweden Windows Azure Group (SWAG) on Monday, as well as presenting on the Windows Azure Service Bus at various other events. I thought it would be fun to look at implementing some of the Enterprise Integration Patterns using the brokered messaging capabilities. I’ll use this article in the next release of Windows Azure Service Bus Developer Guide, and it will probably end up as a “challenge lab” for my Service Bus course. As a long-time BizTalk developer ...
Microsoft Dynamics 4.0 has a 32-bit BizTalk Adapter which is not compatible with 64-bit versions of Windows or BizTalk. Under Windows Server 2003, the AX 4.0 Adapter would not even install on the 64-bit version of the OS. On Windows Server 2008 R2 (which is only 64-bit), the Adapter installs, but it won’t work. However one of my colleagues, Justin, figured out what is wrong with the Adapter and a workaround to “fix it” so that it would work. The AX 4.0 BizTalk Adapter is a remoting adapter and there’s ...
In an earlier post I showed you how to implement basic EDI batching, releasing the batch every time 3 messages were waiting. In the real world, you’re probably going to have some other criteria for releasing the batch; in our case a back-end system notifies BizTalk when all HIPAA 837 claims in a single file are ready to be sent. The MSDN page for this process is actually very easy to follow, but I’ll summarize it here. First, you’ll set up a new receive port and location to receive the trigger file. ...
I've been reflecting on some of the occasions over the years where I have had to step into projects and get them back on track. I've had these kind of situations in different fashions such as a customer I work with has asked me to move to another project because they were having problems or a new client who has contacted me specifically because they have ran into difficulties on their project and need some help. I tend to find that these kind of projects fall into two types. The first is where the ...
I have been wanting to talk for a while about the approach we take to analysis of an application we are about to integrate with. In the past I have seen a lot of cases where analysis is undertaken by looking at the interface specification documents from an application vendor and then taking their contract (which hopefully is standards based) reading them numerous times and then we plough into the development. The big problem with this is that we make a number of assumptions about the application ...
Microsoft has released a hotfix to fix a date problem in BizTalk Server 2006 R2 & 2009 when processing EDI files where a data element contains a leap date. BizTalk Server 2006 and 2010 are not affected. This issue occurs because the EDI interchange cannot validate a data element that contains a leap date value, such as "20120229". This issue can be resolved by either installing the BizTalk Server 2009 cumulative update package 1 (if you’re running 2009…) or the hotfix at the top of KB article ...
While coding a very simple orchestration in BizTalk Server 2010, I ran into the dreaded "cannot implicitly convert type 'System.Xml.XmlDocument' to '<message type>'" issue. I've seen this happen a few times over the years, and it has often mystified me. My orchestration defines a message using a schema type. In a Message Assignment shape, I create the message as an XML Document and then assign the document to the message. I initially wrote the code to populate the XML Document with some dummy ...
A few days ago I read an article by Richard Seroter comparing the different cloud storage options and comparing Windows Azure and Amazon S3. I commented on his blog about how Id like to see companies use these more and more for B2B data exchange when you have a batch file rather than the traditional solutions using FTP and the painful infrastructure piece that often goes with this kind of project. The normal challenges include: Who hosts the FTP service or do we both What kind of security do we use ...
Working though the white paper Microsoft Dynamics® AX 2012: Using Microsoft BizTalk Server 2010 to exchange documents with Microsoft Dynamics AX I came across an issue with incorrect information in the guidance given relating to some of the namespaces used:1. On page 19 the document states:"In the Properties pane, enter the Default Value for the sales order create operation: http://schemas.microsoft.co... Dynamics/2008/01/services/S... This is incorrect and the namespace ...
Working though the white paper Microsoft Dynamics® AX 2012: Using Microsoft BizTalk Server 2010 to exchange documents with Microsoft Dynamics AX I came across an issue when a Dynamics 2012 inbound port was attempting to consume a file created by a BizTalk 2012 send port.Initially the error given was that Dynamics could not access the folder specified. Giving the Dynamics user in question permisions on the folder led to a follow on issue where Dynamics could not consume the file as it was not the ...
I have recently started a new project where we will be integrating a large number of systems with Dynamics AX 2012 using BizTalk Server 2010.We are working alongside consultants from both PWC and Microsoft and it is apparent that there is not a great deal of experience or information out there regarding Dynamics AX 2012 integration, nevermind specifically using BizTalk 2010!To that end I thought I would make some notes on the lumps and bumps along the road to integrating Dynamics AX 2012.So far I ...
In this post we will see few of the initial steps for developing BizTalk Solutions for integrating with PeopleSoft Enterprise Systems using PeopleSoft Adapter. In order to proceed further, you must have Installed and Configured PeopleSoft Adapter properly, both on BizTalk side and PeopleSoft System side. This particular post is based on PeopleSoft HRMS 9.0 system. But the steps shown below should be same for any PeopleSoft Enterprise System. The steps will be same to connect to any Component Interface ...
In two previous posts I talked about party configuration and routing of EDI messages: Basic Party Resolution in BizTalk 2010 EDI Party Resolution (& trading partners) in BizTalk 2010 In this post I’ll build off of those examples and set up EDI batching so that we can deliver more than one EDI 810 invoice per file. You’ll need to have worked through the previous two posts to have your BizTalk application ready to follow along with these steps. First, change the File name: of the Contoso Send Port ...
Commonly when you try to connect the Enterprise Applciatons with BizTalk Adapters you might get errors like : E-PSFT0029: JVM was not started OR Unable to find JAVA_HOME. As the error says, it is unable to locate the JVM.dll and unable to start it. Resolution: Make sure the folder having JVM is present as a value in PATH variable of environment variables. Say for PeopleSoft Applications, the JVM can be found with the app called JRockit so make sure the folder path of JRockit containing the JVM is ...
Ive recently really seen some of the benefits in action from the work we have been doing to introduce Behaviour Driven Development techniques into our BizTalk development process.A couple of months ago one of the members of our team was unavailable and he was the expert with one of the BizTalk Applications we had developed. The team was small and we have a lot of processes and this particular application was quite complex and no one had the level of experience that this team member had with the business ...
The same article in the TechNet. If you are working with queues in BizTalk Server, the most possible it is the MSMQ (in my experience). MSMQ is an old man of the Microsoft technology stack. It was created when there were no good standards for messaging. Now MSMQ is wrapped partly in the .NET System.Messaging namespace. It is just a small facelift. MSMQ is still a proprietary technology without well-defined messaging protocol. It means, you cannot use the MSMQ messaging protocol without MSMQ itself. ...
Previously I talked about how to create a custom BizTalk pipeline component, and gave a few examples for accessing specific context properties. I wanted to be able to dump all the context properties to disk for examination, so I added a few lines of code and an on/off switch. First, add two properties to your component: private bool _EnableContextTrace; private string _FileTraceLocation; public bool EnableContextTrace { get { return _EnableContextTrace; } set { _EnableContextTrace = value; } } public ...
I hadn’t intended for there to actually be a part 3 to this series, but I realized that I failed to talk about how to get the xml back into the message once you’re done messing with it. You have to convert it to a MemoryStream and assign it to IBaseMessage.BodyPart.Data, like this: public Microsoft.BizTalk.Message.I... Execute(Microsoft.BizTalk.C... pc, Microsoft.BizTalk.Message.I... inmsg) { IBaseMessagePart bodyPart = inmsg.BodyPart; ...
In the last post I showed how to create the skeleton of a pipeline components, add it to the toolbox, integrate it into a BizTalk app and deploy & test it. This time I’ll go over working with the XML, reading and writing message context properties, and reading and writing custom component properties. To get the xml portion of the message, you can get a Stream from IBaseMessage.Body.Part.GetO... and load it into an XmlDocument. In our case we’re manipulating the structure of an ...
Architecture of PeopleSoft Adapter: The BizTalk PeopleSoft Adapter is based on the BizTalk Server Adapter Framework. More info: How the Adapter Is Designed: The Adapter Framework. The PeopleSoft adapter basically communicates with the PeopleSoft Component Interfaces via the PeopleSoft JOLT protocol (over TCP/IP). The adapter communicates with PeopleSoft system by receiving a XML message which is later encapsulated into a SOAP request using the PeopleSoft psjoa classes. With this connection we can ...
Recently at work we had a need to be able to manipulate the XML version of a HIPAA EDI file before it hit any of our BizTalk orchestrations, so I decided to do this with a custom pipeline component. There are other (possibly better…) ways of doing this, but sometimes you just have to work with what you’ve got. I can never remember all the little bits and pieces you have to set up in a custom pipeline component, so I decided to give the BizTalk Server Pipeline Component Wizard a try. The wizard walks ...

This is my first blog so am quite excited :) Let me start by introducing myself. I am a Biztalk Consultant , having worked on Biztalk and .Net over the last 6 years. My other interests are watching all kinds of sports and working out in the gym. I would be using this blog to pen down my experience in integration space and some fun stuff in my areas of interest.

It is stupid to compare those two beasts. BizTalk Server is a pricey, huge development and run-time system, it includes tons of the tools, supports tons of protocols and systems. It works for very specialized middle ware integration stack. It integrates big and complex systems as SAP, CRM, Oracle and intermediates many protocols and standards as SOAP, EDI, SWIFT, FTP, tons of them. It is a messaging system. ZeroMQ is a low-level, wire-level protocol, the same level as TCP. It has ultra-simple API. ...
It is one more description of the Ordered Delivery (OD) in BizTalk. The main article about it is in MSDN. Here I am discussing the BizTalk Ordered Delivery “implementation details”. OD Considerations Ordered Delivery (sequential) mode is opposite of the “Parallel Delivery” mode. Parallel Delivery is the most productive mode; the Ordered Delivery is less productive mode. Transports such MSMQ and protocols, supporting the WS-ReliableMessaging, are the protocols supporting OD. Other protocols as FTP, ...
This article is a Part 6 of the Interview Questions series. Part 1: BizTalk: Questions for interview without answers Part 2: BizTalk: Interview questions and principles Part 3: WCF: Questions for studying and interviewPart 4: WCF: Questions for studying and interview: DiscoveryPart 5: WCF: Questions for studying and interview: Routing Service Part 6: BizTalk: Advanced Questions Note: There is BizTalk Administrator interview questions by Tord Glad Nordahl. It is time for fun! These questions are for ...
Recently I uploaded a "BizTalk: Sample: Error Handling" in MSDN Gallery This sample shows the BizTalk features: Routing Failed Messages in ports Catching Failed Messages with Send Port Catching Failed Messages with Orchestration Handling Exceptions inside Orchestration Handling SOAP Fault messages inside Orchestration ...
I have just installed the UDDI 3 server on my BizTalk development environment. All looked good until I tried to open the publish page on the web interface. The page 'http://localhost/uddi/edit... returned a page cannot be displayed error. The same error occured when I tried to open the Subscribe and Coordinate pages.After playing around with the configuration for a while I tracked the problem down to the page using https. By connecting to the UDDI Service Console, right clicking on the ...
This is a second part of the BizTalk Naming Convention. Part 1: biztalk: BizTalk solution naming convention Special Orchestration Objects <Message> =: msg_ + <ShortMessageType> <Variable> =: var_ + <Name> <CorrelationSet> =: cor_ + <Name> <OrchestrationParameter> =: par_ + < Name> <RoleLink> =: roleLink_ + <Name> Note: These objects are special BizTalk objects. They are used in different language context and sometime they use different language ...
A sample demonstrates the PGP Encryption/Decryption in pipelines. You can download code here. A sample is based on a sample by Brian Jones See original code here The main additions to original code: · Single pipeline component was separated to two Encrypt and Decrypt pipeline components. It simplifies the pipeline configurations. · Configuration parameters are stored in SSO, which, I hope, improves security. · File names for temporary files are regenerated randomly each time. That eliminates errors ...
Normal 0 false false false MicrosoftInternetExplorer4 st1\:*{behavior:url(#ieooui) } /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.000... mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} ...
There are a lot of reasons why the 2011 holiday season is a great time to take a look at Azure development. There are a number of offers and releases that allow you to start to explore cloud-based development on the Microsoft platform, best of all; they are all pretty much free to take advantage of. $0 Spending Limit on Azure Trial & MSDN Accounts Ever since the introduction of billing for Windows Azure it has always been an issue for many developers wanting to learn Azure that, if you are not ...
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 ...

I checked the SMTP headers on an email sent from the Biztalk 2010 SMTP send port.

X-Mailer: Microsoft CDO for Windows 2000

Really?  CDO Really?

For an integration solution with lots of dependencies, it's difficult to definitively state that everything is wired up correctly and that all components in the stack are working. A while ago, Michael Stephenson proposed having a diagnostic service in a solution as a quick way of verifying that a given environment was working, end-to-end. Initially I was sceptical, on the grounds that there shouldn't be any code in a solution which isn't directly solving a business problem, but having tried it out ...
For a while I’ve been working on an idea and whitepaper around analyzing source code to measure the size and complexity. There are some tools around which can do this but my differentiator is that I was interested in BizTalk projects and wanted to look at how these could be measured. Note however this can be easily used for non-BizTalk projects too. The aim is to be able to understand the size and complexity of a solution and to allow some real metrics to contribute to your understanding of the Total ...
Yesterday, Microsoft announced the forthcoming release of BizTalk Server 2010 R2 on the BizTalk Server blog site. This is advanced notice, given that this new version will ship six months after the release of Windows 8, expected in the second half of next year. On this basis, we can expect the new version of BizTalk Server to arrive in 2013. Given the BizTalk team’s previous record of name changes, I wonder if this will eventually be released as BizTalk Server 2013. Microsoft has been refreshingly ...
Microsoft has released a hotfix that supports 999 functional acknowledgments and 277CA for HIPAA 5010 Errata in Microsoft BizTalk Server 2010. This post will be a quick walk-through on getting the 999s working. To start, download and install the hotfix (part of Cumulative update package 3) at: http://support.microsoft.co... If you don't have a solution that currently uses 997 responses, and you want to test the 999s out, just do the quick tutorial (Walkthrough (X12): Receiving EDI Interchanges ...
A while back I did the user group sessions and cloud case video about Behaviour Driven BizTalk Development and talked about how you could use SpecFlow with Visual Studio 2010, BizUnit 4 and BizTalk 2010 to create acceptance tests for your solution. The video is on the below link: Part 1: http://cloudcasts.cloudapp.... Part 2: http://cloudcasts.cloudapp.... Of the many advantages of this approach one of the ...
I took a shot at new (to me) certification exam for BizTalk 2010. I was able to pass it without any preparation just based on the experience. That does not mean this exam is a very simple one. Comparing to previous (2006 R2) it covers some new areas (like WCF) and has some demanding questions and situation to think about. But the most challenging factor is broad feature coverage. Overall, the impression that if BizTalk continues to grow in scope it’s better to create separate exams for core functionality ...
Hi All, Sysprep creates a snapshot of a virtual machine with BizTalk Server 2010 installed for quick deployment on other virtual machines Prerequisites Before using Sysprep, you should have some knowledge of using virtual machines with Hyper-V. You should also have a virtual machine with a clean, typical installation of BizTalk Server and all of its prerequisites. Sysprep will run on Windows Server 2008 and Windows Vista with SP1. Description Sysprep creates a VHD of a BizTalk Server 2010 installation ...
The Distinguished Field is often seen as the weaker of the two types of Fields when handling Fields in BizTalk. After all, the Distinguished Field can’t be used as a filter on a message, and it’s slower than its big brother the Promoted Field. Well, today I’m here to dispel the myth of the wimpy Distinguished Field and place in the pantheon of power that equals, and in some ways exceeds the Promoted Field. MYTH: Getting the value of a Distinguished Field requires loading the entire message into memory. ...
NOTE: The variable PropExists as bool has been already created The Property of interest is BTS.RetryCount The Message is Message_In The list from Using Operators in Expressions (http://msdn.microsoft.com/... has the typical list of stuff that you expect in C#, multiplication, bit operations (shift left and right) and Boolean operators, but a couple of extremely useful constructs are available that are unique to BizTalk. The most important of these (in my humble opinion) is ...
I've been back working with BizTalk 2006 R2 for a customer recently and I've become such a fan of the BDD style acceptance tests I've done in the past with BizTalk 2010 that its quite frustrating working back in Visual Studio 2005 and not being able to use Specflow alongside BizUnit 4 like I described in the recent videos on these subjects BizTalk & BDD Part 1 BizTalk & BDD Part 2 In BizTalk 2006 development your back to the older style xml bizunit tests and we were looking at some old tests ...
This is just a reminder for my self of how and why we do this. We have 2 projects within a TFS project collection for our integration component developments. We have: 1. A project for .net based integration projects 2. A project for BizTalk based integration projects The main reason we do this is so we dont have loads of TFS projects as we have a significant number of components but also we want some different rules around check in and source control locks etc etc..... At this stage our build servers ...