Yet on BizTalk Impersonation With WCF Adapters

Scenario Last year I wrote a post on how using BizTalk Server 2006 R2/2009 and Protocol Transition to impersonate the original caller when invoking a downstream service that uses the Windows Integrated Security. Recently, one customer posed the following question to my colleague, Tim Wieman: Can I create a WCF Send Port that is able…


How To Boost Message Transformations Using the XslCompiledTransform class

Introduction The BizTalk Runtime still makes an extensive use of the System.Xml.Xsl.XslTransform.  When you create and build a BizTalk project, a separate .NET class is generated. for each transformation map. Each of these classes inherits from the Microsoft.XLANGs.BaseTypes.TransformBase class. For convenience, I used Reflector to retrieve and report its code in the table below. As…


How to create a custom WCF Channel that debatches an inbound message

Introduction In the following post I’ll explain in detail a demo that I presented at TechReady 9 and TechEd 2009 in Berlin. The Problem Consider the following scenario: Your BizTalk application receives an XML request message through a two-way Receive Location (e.g. WCF, SOAP, HTTP). The inbound document contains multiple elements. For each item contained…


Customizing and Extending the BizTalk WCF Adapters

Introduction The contents of the following post are taken from a presentation I created and delivered at TechReady 9 in July 2009 and replicated with Stephen Kaufman at Tech-Ed Europe 2009 . The ABC of WCF Windows Communication Foundation (WCF) is a runtime and a set of APIs for exchanging messages between components and applications….


Using Visual Studio 2005/2008 To Generate Load Against a Two-Way Request-Response WCF Receive Location

Introduction We all know that testing is very important for every kind of solution. However, testing and in particular performance testing is often neglected for time or budget reasons. One of the things that I have found when working with customers is that the amount of performance testing done on a project tends to fall…


4 Different ways to process an XLANGMessage within an helper component invoked by an orchestration Part 2

  Introduction In the first part of the article we introduced and analyzed 4 different techniques to process an XLANGMessage within a business component invoked by an orchestration. In the second part we’ll compare these design patterns from a performance perspective. To this purpose I conducted some tests against the asynchronous version of each use…


4 Different ways to process an XLANGMessage within an helper component invoked by an orchestration Part 1

Introduction One of the most common scenarios in BizTalk applications is when an orchestration receives and processes an incoming XML document to produce a result message. Sometimes this latter can be generated just transforming the inbound message with a map, but in another cases the orchestration has to invoke  a method exposed by a helper…


How to Throw Typed Fault Exceptions from Orchestrations Published as WCF Services

Introduction In general, a WCF Web Service can return two types of SOAP faults: typed and untyped SOAP faults. Typed Faults In order to throw a typed fault, a service operation must be decorated with a System.ServiceModel.FaultContractAttribute that specifies a fault data contract defined earlier. The following code snippet shows a WCF web service called…