Search code examples
biztalkbiztalk-2010esb-toolkit-2.1bhm

Is there a way to update the ESB ALL.Exceptions send port to use the WCF.SQL adapter?


The ESB Toolkit 2.1 has the ALL.Exceptions send port using the old SQL adapter.

But the BizTalk Health Monitor reports ...

Non WCF SQL adapter used in some Send Ports 
Prefer to use the WCF one which is more performant !

Is there any way to update to the WCF.SQL adapter?


Solution

  • Yes this is possible. It will however include some custom development.

    You will need to create a map between the FaultMessage schema (in Microsoft.Practices.ESB.ExceptionHandling.Schemas.Reporting.dll) and the usp_insert_Fault schema (created using the Consume Adapter Service in Visual Studio, from the usp_insert_Fault SP in the EsbExceptionDb database), as the old SQL Adapter uses a different schema layout to execute a stored procedure.

    Required Steps:

    1. Change the Transport Type of the ALL.Exceptions port to WCF-SQL
    2. Set the Address: mssql://SQLServer:1433/SQLInstance/EsbExceptionDb?
    3. Set the Action: TypedProcedure/dbo/usp_insert_Fault
    4. Change the ESBFaultProcessor Send Pipeline to use your custom map in the ESB Transform Component

    EDIT: Note: The solution described here does not include the Message and its Context like the map with the SQL Adapter does. To accomplish this, you should make use of Composite Operation to insert into multiple tables in one transaction.