Tag Archives: ESB Toolkit 2.2

The map name was not provided and is required.

Recently while working on my first ESB POC I faced one strange issue. I was using BRE Resolver to resolve the map name for transformation, however I was getting below error.

Error Message:- There was a failure executing the receive pipeline: “Microsoft.Practices.ESB.Itinerary.Pipelines.ItinerarySelectReceiveXml, Microsoft.Practices.ESB.Itinerary.Pipelines, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35” Source: “ESB Dispatcher” Receive Port: “GetEmpRequest_RP” URI: “E:\Prashant\POC\IN\*Copy*.xml” Reason: The map name was not provided and is required.

I tested my Rule using “Test Policy” functionality in “Business Rule Composer” which was giving the expected output. I even looked into the ESB Traces using Debug View but all in vain.

I was using “Microsoft.Practices.ESB.ResolverProviderMessage” as Document Type as suggested in many tutorials and videos.

After struggling for hours and I found the below blog-

https://maximelabelle.wordpress.com/2010/06/10/resolving-multiple-maps-in-sequence-with-the-busines-rules-engine-in-biztalk-esb-toolkit-2-0/

Which suggests that the type of the incoming message is mistakenly determined to be “Microsoft.Practices.ESB.ResolveProviderMessage” i.e. Resolve instead of Resolver.

debug_view_log

Later by making Document Type as above things started working.

But this proves how little time and money Microsoft has invested in development of ESB Toolkit.

Contact Me:-

@Gmail, @Facebook, @LinkedIn, @MSDN Technet Profile, @My Personal Blog Site

Step by Step Guide to Install & Setup ESB Toolkit and Management Portal (Standalone Machine)

Installing and Configuring ESB Portal is really hectic & cumbersome task. I myself faced many roadblocks so thought to document it here, hope it’s useful.

Pre-requisites:

1. Install Both VS 2012 and 2013 (BT 2013 Dev tools & ESB toolkit 2.3 requires some components from VS 2012 which I haven’t figure out yet if you can figure out please share it across).

2. Install SQL Server with Analysis Services and ensure it’s running under the LocalSystem account

3. Install BizTalk Server 2013 R2, LOB WCF Adapters and ESB Toolkit.

4. Configure BizTalk with full BAM configuration. Ensure to check “Enable Analysis Services for BAM aggregations”, give the Server Name and Apply Configurations.

5. Install Enterprise Library 5.0 from below link-

http://www.microsoft.com/en-us/download/details.aspx?id=15104

6. Install Microsoft Report Viewer Redistributable 2008 from below link-

http://www.microsoft.com/en-us/download/details.aspx?id=577

Add Roles & Features:-

Roles:-

a) IIS with IIS 6 compatibility Tools(complete)

b) Windows Authentication & Basic Authentication(Under : Web Server(IIS) -> Security)

Features:-

a) WCF & HTTP Activation for both .Net 3.5 and 4.0/4.5

Setting up the ESB Samples and BAM

1. Add the System Account to the BAM STAR Database

a. Open SQL Management studio and connect to server having BAM Star Schema database

b. Run the following command:

use BAMStarSchema

EXEC sp_addrolemember ‘db_owner’, ‘NT AUTHORITY\SYSTEM’

2. Create a folder named: C:\Projects\Microsoft.Practices.ESB

3. Unzip C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit\ESBSource.zip file into this folder

4. Remove Read-only attribute from all files in C:\Projects\Microsoft.Practices.ESB folder.

5. Open an elevated Visual Studios command prompt

a. Setup BAM

i. Navigate to C:\Program Files (x86)\Microsoft BizTalk Server 2013 R2\Tracking

ii. Run Bm.exe deploy-all -DefinitionFile:”C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit\Bam\Microsoft.BizTalk.ESB.BAM.Itinerary.xml”

    iii. Run Bm.exe deploy-all -DefinitionFile:”C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit\Bam\Microsoft.BizTalk.ESB.BAM.Exceptions.xml”

b. Re-register the Itinerary Visual Studio templates

i. Run devenv.exe /setup

c. Create the strong name key for the Samples

i. Run sn -k c:\Microsoft.Practices.ESB.snk

ii. Copy this to C:\Projects\Microsoft.Practices.ESB\Keys

6. Fix the WCF Resubmit Port

a. Navigate to C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit\Web\ESB.ItineraryServices.WCF

b. Open the web.config file

c. Locate: <soapHeaderMetadata enabled=”true”> and Update to be <soapHeaderMetadata enabled=”false”>

Configure ESB

1) Run ESB Configuration Tool as administrator

2) In the ESB Configuration Tool, from the left pane, select ESB Configuration. On the right pane, for Database Server, specify the database server name where the databases required for ​BizTalk ESB Toolkit will be created.

3) In the IIS Web Services box, specify the user credentials under which the applications required for BizTalk ESB Toolkit are created. Also specify the name of the website in IIS under which the applications are created.

Note: – At this stage, you can click Apply Configuration towards the top of the ESB Configuration Tool to configure the BizTalk ESB Toolkit with the default settings. However, if you want to do a custom configuration, you can perform the remaining steps as well. In such a case, the values you specify in the subsequent steps take precedence over the default values.

4) From the left pane, expand Exception Management, and do the following:

5) Click the Database node, and clear the Enable Exception Management Database check box if you do not want to configure an exception management database.

6) Similarly, on the Database node, select the Use Existing Database checkbox if you want to use an existing database instead of the configuration tool creating a new database. You can also specify the database server name and the database name.

7) On the Exception Web Services node, clear the Enable Exception Services check box if you do not want to configure these services. Alternatively, if you want to run these services under a different website, you can specify that here too.

8) From the left pane, expand ESB Core Components, and do the following:

9) Click the Itinerary Database node, and clear the Itinerary Database check box if you do not want to configure an itinerary database.

10) Similarly, on the Itinerary Database node, select the Use Existing Database checkbox if you want to use an existing database instead of the configuration tool creating a new database. You can also specify the database server name and the database name.

11) On the Core Web Services node, clear the Enable Core Services check box if you do not want to configure these services. Alternatively, if you want to run these services under a different website, you can specify that here too.

12) From the left pane, click Configuration to specify the SSO configuration. If you are installing and configuring the BizTalk ESB Toolkit in a single server environment, you should select File Configuration Source, which is the default selection. However, if you are setting up a multiple-machine deployment, you must select the SSO Configuration Source, and then provide the following values.

13) SSO Server: Name of the SSO server.

14) Configuration file: Click the ellipsis button (…), and then browse to the Esb.config file, which is included in the ​Microsoft BizTalk ESB Toolkit

15) Application Name: Type a name for the SSO application. For example, ESB Toolkit.

16) Contact Information: Type the appropriate contact information in the following format: someone@example.com.

17) Administrator Group Name: Click the ellipsis button (…), and then browse to the appropriate name

18) User Group Name: Click the ellipsis button (…), and then browse to the appropriate name

19) Click Apply Configuration. Open IIS and notice that the applications required for ​BizTalk ESB Toolkit are now created under the website you specified while configuring ​BizTalk ESB Toolkit.

20) In the ESB Configuration Tool, on the ESB BizTalk Applications node, from the right pane, do the following:

21) Select the Enable ESB Core Components in BizTalk Server check box to create the application in the BizTalk Server Administration console. Select the Use Default Binding to bind this application to the default host. Select the Do not use Default Binding if you do not want to bind the application to the default host. In such a case, you must explicitly bind the application to a host, once the application is created.

22) Select the Enable ESB JMS/WMQ Components in BizTalk Server check box to create the application in the BizTalk Server Administration console. Select the Use Default Binding to bind this application to the default host. Select the Do not use Default Binding if you do not want to bind the application to the default host. In such a case, you must explicitly bind the application to a host, once the application is created.

23) Click Apply Configuration to create the applications you selected. Verify that the applications are created in the BizTalk Server Administration console.

Note: – Status of the configuration will be visible on the bottom left of this tool. Wait till it displays message – EsbBizTalkApplication: Configured

Refer: – https://msdn.microsoft.com/en-us/library/jj684558.aspx for more details

Configuring ESB Management Portal

  1. In Visual Studio 2012, open ESB.Portal.sln found in C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\ESB.Portal
  2. Click OK to the dialog pop up about the solution being unsupported by Visual Studio 2012
  3. Close the Migration Report IE window that opens once migration is complete
  4. In the ESB.BAM.Service.Implementation C# project add a reference to Microsoft.Practices.ServiceLocation.dll. This can be found at C:\Program Files (x86)\Microsoft Enterprise Library 5.0\Bin
  5. Open web.config file found in ESB.Portal project. Comment out the following section if present(ideally shouldn’t be there in BizTalk 2013 R2):

<sectionGroup name=”scripting”>…

  1. Save all
  2. Select the ESB.Portal project, right-click rebuild this project (note the full Solution will not build)
  3. Close visual studios
  4. Open a 32-Bit PowerShell windows as Administrator
  5. Type: Set-ExecutionPolicy –ExecutionPolicy Unrestricted (confirm Y when promoted)
  6. Run Management_Install.cmd file found in C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts

If everything is good, there shouldn’t be anything in RED.

  1. Finally Open http://localhost/ESB.Portal

Ensure you click on the Gray Gear Icon and change the selection to All Applications

Note: – Add the User (Identity) for which ESB Application Pools is configured and “Network Service” to BizTalk Isolated Host Users group. This will allow these websites to post messages in BizTalkMessageBox.

BizTalk Tracing

ESB processing can get complicated, so I would always suggest you to enable tracing.

1. In Notepad open the machine.config file for both 32 & 64 bit, placed at below locations

C:\Windows\Microsoft.NET\Framework\v4.0.30319\CONFIG\machine.config for 32-bit
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\CONFIG\machine.config for 64-bit

2. Locate the line with the closing configSections tag.

3. Under that line paste the following section:

<system.diagnostics>

<switches>

<add name=”BizTalkESBToolkit” value=”4″/>

</switches>

</system.diagnostics>

4. Save and close machine.config.

5. Start the DebugView program (Download)

6. In DebugView, on the Capture menu, click Capture Global Win32 to make sure that it is checked.

7. In the BizTalk Server Administration console, restart the BizTalkServerApplication host instance.

Refer below link for more details: –

https://midheach.wordpress.com/2013/05/13/tracing-with-esb-toolkit-2-2/

Known Issues:-

1) ESB Toolkit BRE Itinerary Resolver Fails with Exception:-

The following exception is thrown with ESB 2.2 & 2.3 on Microsoft BizTalk Server 2013 when the ItinerarySelectReceiveXML receive pipeline is used to call the Business Rules Engine to dynamically select an itinerary (using the ESB BRI Resolver).

Error Message:-

Exception has been thrown by the target of an invocation.

Source: Microsoft.Practices.ESB.Resolver.ResolverMgr

Solution: – It requires some changes in ESB.Config file, please check the below link about this issue.

https://support.microsoft.com/en-us/kb/2887594?wa=wsignin1.0

Contact Me:-

@Gmail, @Facebook, @LinkedIn, @MSDN Technet Profile, @My Personal Blog Site