Biztalk 2010

WFX to XSD schema generation module is not installed

by Ali Raza Zaidi on April 20, 2012

Today I am trying to generate XSD from Well formed XML. Visual studio return this error

WFX to XSD schema generation module is not installed. Execute C:Program FilesMicrosoft BizTalk Server 2006SDKUtilitiesSchema GeneratorInstallWFX.vbs to install the WFX to XSD schema generation module.

To resolve this issue, simply run the aforementioned VB script; you’ll also need to run the InstallDTD.vbs script to add DTD support.

 

Some times run installWFX.vbs does not solve the problem then do one more step copy dll inside

“C:Program FilesMicrosoft BizTalk Server 2006SDKUtilitiesSchema Generator” to  folder “C:Program Files (x86)Microsoft BizTalk Server 2010Developer ToolsSchema Editor Extensions”

It will solve the problem

{ Comments on this entry are closed }

BizTalk Orchestrations XPath: Survival Guide

by Ali Raza Zaidi on April 20, 2012

Following are good links Xpath in BizTalk , Original Article is here

{ Comments on this entry are closed }

Esb Itinerary beginner Samples

by Ali Raza Zaidi on April 18, 2012

 

Following links are best starting point for ESB Toolkit.

http://abhijitmahato.wordpress.com/2010/09/10/biztalk-esb-toolkit-2-0-samples-content-based-routing/

http://blogs.technet.com/b/meamcs/archive/2011/11/17/biztalk-esb-step-by-step-walkthrough-creating-a-custom-orchestration-service.aspx

 

http://www.codeproject.com/Articles/293385/Dynamic-message-processing-and-routing-in-Itinerar

 

http://www.codeproject.com/Articles/288285/Hello-World-in-BizTalk-ESB-Itinerary-using-a-Purch

 

{ Comments on this entry are closed }

I found this error, when I just complete the installation of ESB toolkit on my machine. I found that I missed the following Filters on “All.Exceptions” send port

ErrorReport.FailureCode – Exists
Microsoft.Practices.ESB.ExceptionHandling.Schemas.Property.FaultCode – Exists

When I set the these filters on send port. All exception port successfully enlisted and start

{ Comments on this entry are closed }

BizTalk 2010 Cookbook Released

by Ali Raza Zaidi on April 13, 2012

I am very happy to announce that BizTalk 2010 Cookbook written by a great MVP Steef Jan is released.

He has done a marvelous job writing this book, the contents of the book can be viewed at Packt Website.

The book is mainly for Developers and Administrators who can gain their knowledge in Development, Maintaining, Monitoring & Deployment of BizTalk Solutions. The book has step by step implementations (recipe) of BizTalk Solutions which follows industry best practices & patterns.

Official technical reviewer of the book are  Randal van SplunterenSandro Pereira & Rene Brauwers

 

{ Comments on this entry are closed }

ESB Toolkit webcasts

by Ali Raza Zaidi on April 9, 2012

ESB Toolkit How To 4: Dynamic Itinerary Resolution Peter Kelcey
Peter Kelcey
In this video, I’ll show you how to create an BRE policy to resolve itineraries and I’ll show you how to setup your BizTalk receive ports to use this policy. I’ll show you how to implement context and content based itinerary resolution.
February 17 2010 Views: 3712 Rating: 4.1 (15 votes) Duration: 15:47
ESB Toolkit How To 3: Itinerary Resolution in the ESB Peter Kelcey
Peter Kelcey
These two new features allow us to implement a solution where a client no longer has to have any knowledge of itineraries. Now, they simply have to pass in their message to the ESB where it will dynamically figure out what itinerary is needed and it will load that itinerary from the database. In this video, I’ll show you how to implement this feature. To demo this feature, I use an InfoPath form which sends data to a generic OnRamp which uses the Itinerary Resolver. I’ll walk you through the process of storing your itinerary into the database, creating the new generic OnRamp that will use the itinerary resolution feature and I’ll show you how to configure the Itinerary resolver to retrieve the itinerary from the database.
February 17 2010 Views: 3103 Rating: 3.9 (11 votes) Duration: 13:29
ESB Toolkit How To 2: Dynamic Mapping and Service Composition Peter Kelcey
Peter Kelcey
In this demo, I show you how to do a number of new things. How to create an itinerary that compose three services together into a single composite service. How to setup your BizTalk environment to support this type of itinerary. Including how to create the send ports required for a composite service itinerary. How to retrieve information from a UDDI v3 server from within your itinerary. How to test resolvers inside visual studio using the resolver web service. How to implement dynamic mapping and dynamic routing inside an itinerary.
February 17 2010 Views: 3387 Rating: 4.0 (13 votes) Duration: 25:50
ESB Toolkit How To 1: Dynamic Routing and Endpoint Resolution Peter Kelcey
Peter Kelcey
What I’ll be showing is how this can be implemented using the basic routing capabilities of the ESB 2.0. I’ll take you through the process of setting this up from start to finish. We setup the BizTalk components, define the Itinerary (which defines the process flow within the ESB) and we’ll test the end to end process. If any of those terms were new for you (i.e. itineraries, biztalk, uddi etc), then I would recommend you take a bit of time and review the basic concepts of the ESB guidance.
February 17 2010 Views: 5186 Rating: 2.3 (107 votes) Duration: 27:12
Extending the Reach: Using a BizTalk ESB Off-ramp to send to Windows Azure platform AppFabric Service Bus Brian Loesgen
Brian Loesgen
This video shows how to use a BizTalk ESB off-ramp to send messages to the Windows Azure platform Service Bus, using the WCF-Custom adapter and ESB Toolkit WCF-Custom Adapter Provider. This enables Windows Azure platform Service Bus interactions to occur as part of itinerary processing, participating as a first-class citizen in an ESB flow.
February 11 2010 Views: 2430 Rating: 3.8 (4 votes) Duration: 10:53
ESB Toolkit 2.0: Itinerary Demo Brian Loesgen
Brian Loesgen
Walks through the ESB Toolkit 2.0 Itinerary design process and tooling.
July 8 2009 Views: 3748 Rating: 3.6 (26 votes) Duration: 19:45
ESB Toolkit 2.0: Order Demo Brian Loesgen
Brian Loesgen
Shows how BizTalk and the ESB Toolkit 2.0 can be used in a process that uses dynamic messaging (message itineraries are dynamically selected based on rules engine evaluation of message content). In addition, it shows how SharePoint can be used to provide human intervention into a process, as well as BizTalk’s BAM capabilities. This is a compelling demo as the scenario is very simple, yet it really brings together and shows off the power of the Microsoft stack.
July 8 2009 Views: 2641 Rating: 4.0 (29 votes) Duration: 12:17

{ Comments on this entry are closed }

After hundreds of time failure on BizTalk configuration failed at configuring SSOS with error

Failed to connect to the SQL database SSODB on SQL Server

The best solution I found was to re-register the ssosql.dll on the following manner:

1. start the visual studio command prompt
2. go to the ssosql.dll C:Program FilesCommon FilesEnterprise Single Sign-On
3. regasm ssosql.dll

and probably you are finished.

On 64 bit machine somehow or other regasm did not gac the ssosql.dll, when checked I assembly folder it contains old dll, so on 64 machine you have to regac ssosql.dll manually.

{ Comments on this entry are closed }

Insert with WCF-SQL-Adapter BizTalk 2010

by Ali Raza Zaidi on March 25, 2012

 

I decided to write a simple kick start tutorial for WCF-SQL Adapter for beginners.

In this tutorial where I just perform single operation insert. A simple BizTalk solution which read a value from file location and insert this value into table.

First of all I create a very simple category table. Which hold two fields. As

 

USE [Experiments]

GO

 

/****** Object:  Table [dbo].[CategoryWar]    Script Date: 03/25/2012 22:12:13 ******/

SET ANSI_NULLS ON

GO

 

SET QUOTED_IDENTIFIER ON

GO

 

CREATE TABLE [dbo].[CategoryWar](

[ID] [int] IDENTITY(1,1) NOT NULL,

[CategoryName] [nvarchar](255) NOT NULL,

CONSTRAINT [PK_CategoryWar] PRIMARY KEY CLUSTERED

(

[ID] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

 

GO

 

 

Now I create a new solution with Name WCF_SQLAdapter. You can use as you like.

 

On solution explore, I right click  on add and then  select generate items.

 

Then select consumerAdapterServices  as follow.

 

 

 

 

Select SQLBinding from Consume Adapter Services Wizard. Like  as

 

Then click on Configure Button new popup windows  like that

 

 

Inter the Sql server Name. And Database Name in Initial Catalog. And press save button. Now URI look like as

 

Click on test button to verify the connection established. If connection is successful. Then Category section will below the connected button will populate as select from table all possible option appears at right side as follow.

 

 

Some Schemas and bind files generated as follow. Open schema name with

TableOperation.dbo.CategoryWar.xsd

 

 

Now we create one more schema, which will used as input to BizTalk solution. Like as

 

 

Now I create a map for send value from input schema to Request input message.

 

I used source input schema. And output schema I used to  insert schema from TableOperation.dbo.CategoryWar.xsd. Map will be like

 

After that I create new Orchestration with name InputProcessOrchestation.odx.

I create three message with One for input message, and two with Insert Request Method and one for Insert response.  Orchestation will be look like as

 

 

 

It is very simple orchestration, which reading input from file location transform it into request message. And request response call to WCF-SQL adapter and received message drop in other location.

For wcf-sql call I created send request port with specify later option. Remember the name of operation will be the same which will describe in binding. You can later change it. When I deploy the solution I found three ports on BizTalk console. I created two file ports one for receiving input and second for droping output. I import the binding which is created at the time of consuming the SQL Adpater. It will as


Generate instance form input schema and modify it and drop. This solution is works fine for me.  You can download solution from here.

 

 

 

 

 

{ Comments on this entry are closed }

XSLT In BizTalk Maps

by Ali Raza Zaidi on March 22, 2012

XSLT is by default used by BizTalk maps (XSLT engine) to transform source schema to destination schema so there is nothing new (If you just open the .cs file of a map you can see it clearly there) Intention of this post is to highlight different usages of custom XSLT.

1) WHEN to use XSLT ?
I would prefer to use XSLT in following scenarios,
Whenever you have implement a complex logic in map. Like Grouping, Sorting or joining multiple input messages or carrying out operations with those multiple messages etc.

2) WHY XSLT and not Functoids ?
I totally understand that these things can be done using functoids as well. But as per my expereince if you open a map which uses a lot of functoids and try to analyse the .cs file of a map you will realise that,
i) There are a lot of simplifications can be done in that code like inline xslt functions can be used but instead functoids create .net functions for them.
ii) Also lot of unnecessary variables are created in XSLT which is by default generated by functoids.
iii) If you can write a good xslt you can write much more optimized.(Learning XSLT is pretty simple I would say.) Which in turn positively going to impact on your map execution performance.
iv) Debugging XSLT independantly is very easy infact the Map debugging feature introduced in BizTalk intern uses the same XSLT debug functionality (remember the XSLT debug window which is opened at time of debugging a Map). You can keep you xslt seperate (custom xslt) and test it with your sample input messages independantly.

3) What is Extension XML ? When to use it ?
When you need to call external assembly you will need the reference to extension xml. Link below will explain the details of extension xml.
http://msdn.microsoft.com/en-us/library/aa547368.aspx.

4) XSLT Grouping ,Sorting samples.
Some typical samples of xslt grouping,
e.g. Input message is

This needs to be Grouped and Sorted we can use an XSLT as below,

and the Output will be

5) Different XSL Functions :-
Below link gives description of some of the XSLT 1.0 functions,
http://www.zvon.org/xxl/XSLTreference/Output/xpathFunctionIndex.html

Imp Note:- As of now Microsoft only supports XSL 1.0, XSL 2.0 is much more powerful and contains a lot of functions compared to 1.0. My Wishlist would include support for XSL 2.0 from Microsoft in future versions of XSLT engine.

{ Comments on this entry are closed }

Xpath vs Distinguished fields.

by Ali Raza Zaidi on March 12, 2012

Xpath consider to be slower, because when we get value using xpath, the whole message will be loaded into memory, so Xpath is memory hungry  solution Distinguished filed return value faster then xpath. Distinguished filed  has limitation. It failed to returning value when message contains multiple node contains the value. In this case Xpath works wonder.
Final point is depending on need, either to use Distinguished filed or Xpath. Distinguished fields internally contain Xpath.

{ Comments on this entry are closed }