Calling LoadLibraryEx on ISAPI filter “C:\Windows\Microsoft.NET\Framework\v4.0.30319\\aspnet_filter.dll” failed

This can easily be fixed with uninstalling DOT NET 4.0 (aspnet_regiis.exe -u ) and reinstalling it (aspnet_regiis.exe -i).

Creating Multi-Project Templates

Simple Multi Project Solution Template.

Multi Project Solution Template with parameter replacement

BizTalk – Solution Template

Note: If you have Visual Studio 11 (beta) installed double clicking the template will not work.  I have added a bug report.  The problem seems to be with the VSIXInstaller.exe shipped with the beta.  You should use the 2010 VSIXInstaller for the template to successfully install. 

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE>VSIXInstaller.exe "C:\Users\mabhyankar\Documents\Visual Studio 2010\Projects\TemplateCreator\Multi-Project Templates Sample Solution\VSIXProject2\bin\Release\BizTalkFinalTemplateDR.vsix"

The solution template based on Dan Rosanova’s book – BizTalk Patterns 2010 is now complete.  Dan suggests in his book to structure the solution into 5 projects + 1 Unit test.

  • External Schemas: Schemas for the external parties
  • Internal Schemas: Canonical schemas
  • Maps: Maps internal to external schemas and vis-a-versa.
  • Orchestrations: Based on Internal schemas
  • Pipelines
  • Unit Tests

The solution template build the solution exactly how Dan Recommends.  It even creates other recommended folders and creates a signing key and adds it into the project.

Here is a link to download the template.

Link to the source code for solution template.

A visual studio caveat:

Visual studio saves the ApplicationName, ConfigurationDatabase, Restart Host Instance information in the .user file of the project.  This file is updated only when the user closes the visual studio solution.  I haven’t found a way to replace these parameters in the .user file.  So the solution template creates a .bat file that you can run which will replace the visual studio created .user files with the ones that you need.  But keep in mind that you have to close the visual studio project before you run the .bat file otherwise, VS will overwrite all the .user files with what it thinks is correct.

Enjoy the solution template.

MCTS BizTalk

Wish me luck and think positive for me

Painful LLBL output to readable data.

I am working on this client project when the LLBL output is giant with query being 1100 + characters long with atleast 10 parameters.  Its very painful to read this query and hurts when you have to run this in SQL to see the output.  I put in about a hour to convert this 1100 long query into a readable format with /r/n s and replaced the parameters with specified value.

Take a look at the screenshot.

Link to LLBL Forum where the code is posted  –

Here is the code and the executable

Biz Talk Errors and Potential Problems

The Messaging engine failed to process a message submitted by adapter:WCF-WSHttp Source URL:/UITBizTalkService/UITExternalFileGenerationService.svc. Details:The published message could not be routed because no subscribers were found. This error occurs if the subscribing orchestration or send port has not been enlisted, or if some of the message properties necessary for subscription evaluation have not been promoted. Please use the Biztalk Administration console to troubleshoot this failure.

  • No Map on the port
  • No XML pipeline on the port 

Calling a WCF operation in biztalk (void operation (void)

Here at one of west monroe partner’s clients, they have a WCF webserice that needs to be consumed by biz talk.  The operation that need to be consumed had no inputs and no outputs.  So the schema that was generated had no elements. Thus when used in an orchestration there was no element to be mapped.

What I was doing was trying to map the element to an element from the previous schema and was receiving this error:

:DeserializationFailed</Value></Subcode></Code><Reason><Text xml:lang=”en-US”>The formatter threw an exception while trying to deserialize the message: Error in deserializing body of request message for operation

The easiest way to solve this problem was to use the “nil” functoid and map it to the the root element (name of the operation)