Last Monday I presented my second session in the Integration Monday series (see my last post) and, as usually, I normally publish a post on my blog before the event – a way to help the organizers to advertise the event – or sometimes after the event sharing the resources… but I just now realized that I never created a post in my blog about my first session in the Integration Monday series: BizTalk Server Tips & Tricks for Developers and Admins (Deep Dive)

A session similar to the one I did in BizTalk Summit 2015 London event (also available online here) but a more open session addressing more tips and going into more detail – because I had more time, almost 82 minutes comparing to the 30 minutes I had in London Smile – and according to the Integration Monday organizers it has been a quite popular (or viewed) session.

Integration-Monday-organizers-tips-amd-tricks-feadback

So it is time to solve this "my big fault" and share with you the resources of this session – a session with a simple topic that I really love – I think that this (the topic) is the session that gave me more pleasure in making.

Sandro-Pereira-Integration-Monday-BizTalk-Server-Tips-Tricks-Developers-Admins-Deep-Dive

Session: BizTalk Server Tips & Tricks for Developers and Admins (Deep Dive)

Abstract: It’s critical to use good tools and techniques to produce working solutions as quickly as possible and at the same time, given the increase the requirements and number of applications organizations develop today. But at the same time, it’s also critical to maintain the health of the entire platform. In this session I’ll address and share some useful BizTalk Server Tips and Tricks (and Workarounds) both for developers and administrators that we can use in our daily work. And by doing so I’m hoping to simplify a little and/or automate some of the repeating tasks that we normally do and by sharing some unusual things or techniques that we can use I’m hoping to help you simplify your BizTalk solutions. Covering some topics like RosettaNet, SAP, database maintenance, debatching, out-of-the-box pipelines vs custom pipelines and many more

I hope you enjoy and find it an interesting session. Also I advise you to visit and view the sessions history that have taken place every Monday in the Integration User Group – Integration Monday series.

It was with great pleasure that I presented, last Monday – August 31, 2015 – my second presentation in the Integration Monday series. This time I was invited to talk about my personal experience about BizTalk NoS Ultimate and how this tool can improve our efficiency, productivity and experience while developing BizTalk projects.

And for this session I decided to take the risk of not creating a storyboard, as I normally do, preparing all the details about the entire session, test all the demos, train the session over and over to try to reach the perfection and so on… instead I decided to just spend some time on creating 5 or 6 slides that could visually express the way I see and feel this tool. And choose 2 or 3 real projects in which I could emulate the tool as I usually do in my daily work life.

The intention was only to prepare the support base for the entire presentation and then try to explain the impact of using BizTalk NoS Ultimate in the Developer Lifestyle, the advantages and how it allows me to improve my productivity/efficiency in my BizTalk projects… as if someone walked right now into my office and I had to explain him why to use and why I love it!

(That’s why some times you will see some pauses during the presentation and some “ahhh”’s and maybe some things note working so well – the risks inherent in doing this type of approach – hehhehe)

Sandro-Pereira-Real-Case-Scenarios-Where-BizTalk-NoS-Ultimate-Can-Improve-Our-Efficiency-video

I hope you enjoyed and found this session informative and valuable, as I enjoyed doing it. And if you miss it or want to do see it again (I think anyone in their right mind wants to review) there are some good news… the video and slides from the session are now available in the Integration User Group site here:

I apologize for my voice, I was sick all week and my voice is a little husky (hoarse) – I don’t know very well the term in English – and despite being completely weird making a presentation to your computer, without seeing the people and their reactions – I’ve done four online sessions and it is impossible to get used to this format, I think I feel more comfortable being in front of an audience than making an online session hehehe – It was a pleasure to present once again in the Integration User Group.

Thank you for inviting me and see you all in a next time!

See also this amazing review made by Nino Crudele: BizTalk NOS Ultimate – BizTalk Assessment Power Up!

I’m glad to be back, once again, to Integration Monday Events! The first time I presented a session about “BizTalk Server Tips & Tricks for Developers and Admins (Deep Dive)” (June 22, 2015), a similar session that I also presented in BizTalk Summit 215 London, that you can found and watch online here.

This time I will present a session about BizTalk NoS Ultimate and how this tool can improve our efficiency, productivity and experience while developing BizTalk projects.

Real-Case-Scenarios-Where-BizTalk-NoS-Ultimate-Can-Improve-Our-Efficiency

Session Name: Real Case Scenarios Where BizTalk NoS Ultimate Can Improve Our Efficiency

Session Overview: In this session, I will show, using real cases scenarios, how can BizTalk NoS Ultimate will help BizTalk developers to improve their efficiency, productivity and experience while developing BizTalk projects. BizTalk NoS Ultimate is a time-saving tool and, as we pass through its functionalities, we show where developers can save valuable time while working on their day-to-day tasks.

Note that I’m not a seller, and I will not try to sell this tool, instead, I will only focus in share my experience in real case scenarios where this tool can help us, at least it helped me, while developing BizTalk Projects. The rest It’s up to you if you want to use it or not.

I invite you all to join us next Monday. Grab your “seat” by registering in this session here.

In my last post I wrote about BAM Portal running in Internet Explorer 11, the browser we normally have in the BizTalk Server machine. However BAM Portal can and should be remotely accessed by the users and not directly from the server.

But this can leads us to other problems. Each user has his own preference regarding to browsers, some of them like Google Chrome, others Firefox and other IE. As recently I upgrade my laptop to Windows 10, I took this opportunity to validate the BAM Portal behavior in different browsers, including the new browser from Microsoft – Microsoft Edge

Microsoft Edge

As I expected BAM Portal does not perform well with the new Microsoft Edge browser. It ask the authentication credentials with a nice window, with a very clean layout

BAM-Portal-Microsoft-Edge-authentication

But after that you still have the same compatibility problem between Internet Explorer and the site: the menu have problems and you cannot select the columns to perform the queries

BAM-Portal-Microsoft-Edge-compatibility-problems

But unfortunately for us Microsoft Edge doesn’t have the compatibility view option, instead you have to use the option “Open with Internet Explorer”

BAM-Portal-Microsoft-Edge-open-with-IE

Conclusion: BAM Portal is not supported on Microsoft Edge.

Internet Explorer 11

Again BAM Portal does not perform well with IE11 as I described in my last post: Running BAM Portal in Internet Explorer 11: Enable Compatibility view and to fix all the problems you need to add this site to the “Compatibility View Settings”

Once you turn on Compatibility View, Internet Explorer will automatically show the BAM Portal in Compatibility View each time you visit fixing all the previous behaviors problems.

BAM-Portal-IE11-compatibility-problems-fixed

Conclusion: IE is the best browser to run BAM Portal

Google Chrome

I did not have much hope that Google Chrome will be any different. And again when we try to access BAM Portal a popup asking the authentication credentials is presented

BAM-Portal-Google-Chrome-authentication

But after that you still have the same compatibility problem, again the menu have problems and you cannot select the columns to perform the queries

BAM-Portal-Google-Chrome-compatibility-problems

Google chrome doesn’t have the “Compatibility View Settings” option that exists in IE however there are some extension that you will find in chrome web store like “IE Tab” that will display web pages using IE within Chrome

BAM-Portal-Google-Chrome-IE-Extension

After installing this extension you will have an option in the right corner of the browser to display BAM Portal using IE within Chrome

BAM-Portal-Google-Chrome-IE-Tab-Extension

And using this technique you will be able to run BAM Portal in chrome

BAM-Portal-Google-Chrome-compatibility-problems-fixed

Mozilla Firefox

The exact same behavior happens in Firefox, the authentication popup is presented but after that you still have the same compatibility problem, again the menu have problems and you cannot select the columns to perform the queries

BAM-Portal-Firefox-authentication

BAM-Portal-Firefox-compatibility-problems

As with Chrome, Firefox also does not have the “Compatibility View Settings” option and also relies in extensions like “IE Tab” to render the page using IE

BAM-Portal-Firefox-IE-Extension

After installing this extension, by right click over the BAM Portal you can find the option “View Page in IE Tab” and this will do the trick for you

BAM-Portal-Firefox-IE-Tab-Extension

A new windows asking credentials is shown and after that you will have BAM Portal running fine in Firefox

BAM-Portal-Firefox-compatibility-problems-fixed

In short, Microsoft Edge does not support BAM Portal. IE is the best browser to run BAM Portal and you can run BAM Portal in Chrome of Firefox using extensions to emulate IE.

Sometimes websites don’t look like you expect them to. Images might not appear, menus might be out of place, and text could be jumbled together. This might be caused by a compatibility problem between Internet Explorer and the site you’re on and most of the times this behavior can be fixed by adding the site to your Compatibility View list.

Compatibility View was introduced in Windows Internet Explorer 8 to help existing content continue to work with Windows Internet Explorer 7, while developers updated their content to support modern interoperable web standards. Well, unfortunately for us, BAM Portal never was updated and continues to have problems of compatibility.

BizTalk-Server-2013-R2-BAM-Portal-IE11-compatibility-problems

As always one of the downsides of dealing with a new versions of products like IE and so on… is figuring out where some features/options have moved in this new release. And this exactly one of this cases…

“Starting with IE11, document modes are considered deprecated and should no longer be used. Webpages that require legacy document modes to display properly should be rewritten to use features defined by modern standards.”  – Source: Specifying legacy document modes

For this reason, in Internet Explorer 11, the compatibility view button is removed from the address bar. Microsoft felt that the button had outlived his purpose because it’s been many years now since Microsoft introduced X-UA-Compatible tags. Web developers were supposed to add these X-UA-Compatible meta tags to their website’s HTML header to indicate web page compatibility and not leave it to the user to depend on the button to correctly render the page.

However, and fortunately for us BizTalkers, the compatibility view feature still remains in the browser.

You can turn it on or off by:

  • Click on the Settings icon in the top right corner of IE11 and select the “Compatibility View Settings” item in the drop-down menu

IE11-compatibility-view-settings

  • In the “Compatibility View Settings” box, add the problematic website URL – aka BAM Portal – and then click Add.
    • Compatibility View is turned on for this single website, for this specific computer.
  • Enable both check box “Display intranet sites in Compatibility View” and “Use Microsoft compatibility lists”, and then click Close.

IE11-compatibility-view-settings-add-website

Once you turn on Compatibility View, Internet Explorer will automatically show the BAM Portal in Compatibility View each time you visit fixing all the previous behaviors problems.

BizTalk-Server-2013-R2-BAM-Portal-IE11-compatibility-problems-fixed

Finally a new BizTalk Server book it’s available and just in time for my vacations! No I will not work during my vacations but unlike the Caribbean where we can eat and then jump right away into the water, or eat in the water, here in Europe we have to wait approximately 3 hours, depending on how much food you eat. So in that period I like to read a book and I usually take with me at least one technical book and this year will be: SOA Patterns with BizTalk Server 2013 and Microsoft Azure (Second Edition)

WP_20150726_17_51_16_Pro

I like to be on the beach scratching technical books with notes and ideas Smile

This time I will not make any review on this book because I was pleased to be part of this project as a technical reviewer, so everything I can say may be suspect… and I take this opportunity to thank the authors (Richard Seroter, Mark Brimble, Johann Cooper, Colin Dijkgraaf, Mahindra Morar) for the invitation.

The book will address and will explain to you how to create and implement SOA strategies on the Microsoft technology stack using BizTalk Server 2013 and Azure Integration platforms

  • Understand how to implement SOA with BizTalk Server and the Azure platform
  • Consume and expose WCF services effectively via the use of Service Bus Relays and RESTful services
  • Implement effective schema design, including an introduction to various schema design patterns
  • Exploit various message exchange/endpoint patterns including request-response, fire and forget, and client callbacks
  • Leverage orchestration design patterns that maximize flexibility and reuse
  • Future-proof your BizTalk Server artifacts using well thought out versioning strategies
  • Build loosely-coupled BizTalk applications using the ESB Toolkit
  • Take a peek at API Apps, Logic Apps, and Azure API Management
  • And best of luck for those who are preparing to take this certification.

See Steef-Jan review about the book here and I hope you enjoy reading it. I know I will!

The book is available through Amazon and PACKT is self, so go to either of one and order it!

Have you had the time to think about what is some features like RosettaNet, ESB or UDDI have in common?

Well, all of them have custom databases and all of them are optional features.

But the most important question here, because they have custom databases, is: Do you think that these databases are being backedup? And the data inside are saved?

And the response is NO… Because these “custom” databases are not installed with BizTalk Server, they are not included in the default list of databases to be marked and backed up by the Backup BizTalk Server job. So if you want the Backup BizTalk Server job to back up RosettaNet, ESB or UDDI custom databases, you must manually add the databases to the Backup BizTalk Server job.

BizTalk-Server-Default-Database-backups

Fortunately for us, Microsoft provides two SQL Scripts:

  • Backup_Setup_All_Procs.sql
  • Backup_Setup_All_Tables.sql

That can be found in the Schema folder inside the BizTalk installation folder: “C:\Program Files (x86)\Microsoft BizTalk Server 2013 R2\Schema”, that you need to run against these databases in other to extend the standard backup mechanisms. However you also need to modify the adm_OtherBackupDatabases table (present in the BizTalk Management (BizTalkMgmtDb) database) to include a row for each these custom databases.

How to Back Up Custom Databases (RosettaNet, ESB or UDDI databases)

Note: I will not advise you to backup any custom application databases (database used to support BizTalk Application processes or others) with the Backup BizTalk Server job, with the exception of custom BizTalk database, like RosettaNet, UDDI or ESB.

To accomplish that you need to:

  • Browse to the “C:\Program Files (x86)\Microsoft BizTalk Server 2013 R2\Schema” directory, and then run against the RosettaNet, ESB or UDDI (custom) databases the following SQL scripts.
    • Backup_Setup_All_Procs.sql
    • and Backup_Setup_All_Tables.sql

BizTalk-Server-run-SQL-scripts-to-backup-custom-databases

  • So in this case we need to run these two SQL scripts against the following databases
    • RosettaNet
      • BTARNARCHIVE
      • BTARNCONFIG
      • BTARNDATA
    • ESB Toolkit
      • EsbExceptionDb
      • EsbItineraryDb
    • UDDI
      • UDDI3

Note: This creates the necessary procedures, table, and role and assigns permissions to the stored procedures.

  • Modify the adm_OtherBackupDatabases table, present in the in the BizTalk Management (BizTalkMgmtDb) database, to include a row for each of your custom databases
    • Type the new server and database names in the corresponding columns
      • DefaultDatabaseName: The friendly name of your custom database.
      • DatabaseName: The name of your custom database.
      • ServerName: The name of the computer running SQL Server.
      • BTSServerName: The name of the BizTalk Server. This value is not used, but it must contain a value nonetheless.

BizTalk-Server-adm_OtherBackupDatabases-table-configuration

The next time you run the Backup BizTalk Server job, it will back up your custom databases.

BizTalk-Server-with-custom-Database-backups

See this and more tips here: BizTalk Server Tips & Tricks for Developers and Admins (Deep Dive)

When trying to deploy BAM definition by:

  • Open a command prompt as follows: Click Start, click Run, type cmd, and then click OK.
  • Navigate to the tracking folder by typing “C:\Program Files (x86)\Microsoft BizTalk Server <version>\Tracking” at the command prompt. Press ENTER.
  • Type “bm deploy-all -DefinitionFile:<BAM definition file>”
  • Press ENTER.

I got the following error:

C:\Program Files (x86)\Microsoft BizTalk Server 2013\Tracking>bm.exe deploy-all -DefinitionFile:Tracking.xls
Microsoft (R) Business Activity Monitoring Utility Version 3.10.229.0
Copyright (C) Microsoft Corporation. All rights reserved.

Using ‘BAMPrimaryImport’ BAM Primary Import database on server ‘BIZTALK’…
Deploying Activity… Done.
Deploying View… ERROR: The BAM deployment failed.

Internal error: The operation terminated unsuccessfully.
OLE DB error: OLE DB or ODBC error: Login failed for user ‘Domain\UserAccount’.; 42000.
Errors in the high-level relational engine. A connection could not be made to the data source with the DataSourceID of ‘bam_MessageView’, Name of ‘bam_MessageView’.
Errors in the OLAP storage engine: An error occurred while the dimension, with the ID of ‘MessageView_ProcessDate’, Name of ‘MessageView_ProcessDate’ was being processed.
Errors in the OLAP storage engine: An error occurred while the ‘Hour’ attribute of the ‘MessageView_ProcessDate’ dimension from the ‘BAMAnalysis’ database was being processed.

OLE DB error: OLE DB or ODBC error: Login failed for user ‘Domain\UserAccount’.; 42000.
Errors in the high-level relational engine. A connection could not be made to the data source with the DataSourceID of ‘bam_MessageView’, Name of ‘bam_MessageView’.
Errors in the OLAP storage engine: An error occurred while the dimension, with the ID of ‘MessageView_ProcessDate’, Name of ‘MessageView_ProcessDate’ was being processed.
Errors in the OLAP storage engine: An error occurred while the ‘Week’ attribute of the ‘MessageView_ProcessDate’ dimension from the ‘BAMAnalysis’ database was being processed.
OLE DB error: OLE DB or ODBC error: Login failed for user ‘Domain\UserAccount’.; 42000.
Errors in the high-level relational engine. A connection could not be made to the data source with the DataSourceID of ‘bam_MessageView’, Name of ‘bam_MessageView’.
Errors in the OLAP storage engine: An error occurred while the dimension, with the ID of ‘MessageView_DestinationParty’, Name of ‘MessageView_DestinationParty’ was being processed.
Errors in the OLAP storage engine: An error occurred while the ‘DestinationPartyName’ attribute of the ‘MessageView_DestinationParty’ dimension from the ‘BAMAnalysis’ database was being processed.
OLE DB error: OLE DB or ODBC error: Login failed for user ‘Domain\UserAccount’.; 42000.
Errors in the high-level relational engine. A connection could not be made to the data source with the DataSourceID of ‘bam_MessageView’, Name of ‘bam_MessageView’.
Errors in the OLAP storage engine: An error occurred while the dimension, with the ID of ‘MessageView_PipCode’, Name of ‘MessageView_PipCode’ was being processed.
Errors in the OLAP storage engine: An error occurred while the ‘PipCode’ attribute of the ‘MessageView_PipCode’ dimension from the ‘BAMAnalysis’ database was being processed.
Server: The current operation was cancelled because another operation in the transaction failed.
OLE DB error: OLE DB or ODBC error: Login failed for user ‘Domain\UserAccount’.; 42000.
Errors in the high-level relational engine. A connection could not be made to the data source with the DataSourceID of ‘bam_MessageView’, Name of ‘bam_MessageView’.
Errors in the OLAP storage engine: An error occurred while the dimension, with the ID of ‘MessageView_ProcessDate’, Name of ‘MessageView_ProcessDate’ was being processed.
Errors in the OLAP storage engine: An error occurred while the ‘Year’ attributeof the ‘MessageView_ProcessDate’ dimension from the ‘BAMAnalysis’ database was being processed.
OLE DB error: OLE DB or ODBC error: Login failed for user ”Domain\UserAccount’.; 42000.
Errors in the high-level relational engine. A connection could not be made to the data source with the DataSourceID of ‘bam_MessageView’, Name of ‘bam_MessageView’.
Errors in the OLAP storage engine: An error occurred while the dimension, with the ID of ‘MessageView_ActivityName’, Name of ‘MessageView_ActivityName’ was being processed.
Errors in the OLAP storage engine: An error occurred while the ‘ActivityName’ attribute of the ‘MessageView_ActivityName’ dimension from the ‘BAMAnalysis’ database was being processed.
OLE DB error: OLE DB or ODBC error: Login failed for user ‘Domain\UserAccount’.; 42000.
Errors in the high-level relational engine. A connection could not be made to the data source with the DataSourceID of ‘bam_MessageView’, Name of ‘bam_MessageView’.
Errors in the OLAP storage engine: An error occurred while the dimension, with the ID of ‘MessageView_ProcessDate’, Name of ‘MessageView_ProcessDate’ was being processed.
Errors in the OLAP storage engine: An error occurred while the ‘Day’ attribute of the ‘MessageView_ProcessDate’ dimension from the ‘BAMAnalysis’ database was being processed.
OLE DB error: OLE DB or ODBC error: Login failed for user ‘Domain\UserAccount’.; 42000.
Errors in the high-level relational engine. A connection could not be made to the data source with the DataSourceID of ‘bam_MessageView’, Name of ‘bam_MessageView’.
Errors in the OLAP storage engine: An error occurred while the dimension, with the ID of ‘MessageView_SourceParty’, Name of ‘MessageView_SourceParty’ was being processed.
Errors in the OLAP storage engine: An error occurred while the ‘SourcePartyName’  attribute of the ‘MessageView_SourceParty’ dimension from the ‘BAMAnalysis’ database was being processed.
OLE DB error: OLE DB or ODBC error: Login failed for user ‘Domain\UserAccount’.; 42000.
Errors in the high-level relational engine. A connection could not be made to the data source with the DataSourceID of ‘bam_MessageView’, Name of ‘bam_MessageView’.
Errors in the OLAP storage engine: An error occurred while the dimension, with the ID of ‘MessageView_ProcessDate’, Name of ‘MessageView_ProcessDate’ was being processed.
Errors in the OLAP storage engine: An error occurred while the ‘Minute’ attribute of the ‘MessageView_ProcessDate’ dimension from the ‘BAMAnalysis’ database was being processed.

BAM-Deploy-OLE-DB-error-or-ODBC-error-Login-failed-for-user

CAUSE

The main reason for the error above happen is when the SQL Server service account does not have read access to BAMStarSchema database.

SOLUTION

To fix this issue you have two options.

First option:

  • Open SQL Server Management Studio and expand BAMStarSchema database
  • Expand “Security”, right-click on the “User” option, And select “New User…”
  • Configure the SQL Server service account to have db_datareader Role access as shown below

BAM-BAMStarSchema-database-db_datareader-Role-access

Second Option:

  • Open SQL Server Management Studio and execute the following script (Replacing the SQL Server service account)
USE BAMStarSchema
GO
EXEC sp_addrolemember 'db_datareader', 'Domain\SQL Server service account'
GO

This section provides information about troubleshooting your BizTalk 2013 R2 Accelerator for RosettaNet (BTARN) installation.

Do not install SQL Server on the domain controller computer

If you install SQL Server on the same computer as your domain controller computer, it returns the following error message when it is trying to create the SQL send ports:

Error: Failed updating binding information.
BindingException: Could not validate TransportTypeData or Address properties for Primary Transport of Send Port ‘SendPort1’. Exception from HRESULT: 0x80131500.
Error: Failed updating binding information.
BindingException: Could not validate TransportTypeData or Address properties for Primary Transport of Send Port ‘SendPort1’. Exception from HRESULT: 0x80131500

Important: Do not install SQL Server on the domain controller computer.

Service account for the application pools must be the same as the service account for the Isolated Host and Host instances

If the service account set for the BTARN application pools is different from the Isolated Host account, BTARN will not be able to process incoming messages correctly. When the receive .aspx page calls the pipeline, the pipeline will not have access to the appropriate certificates. Therefore, it will not be able to decrypt the incoming message or validate the signature. It will also not be able to access the MessageBox database.

Related links:

This section provides detailed information about additional configurations of BizTalk 2013 R2 Accelerator for RosettaNet (BTARN) that you need to do before you start using it:

  • Start BTARN orchestrations, send ports, and receive locations, manually. These do not start automatically when you install and configure BTARN.
    • Note: You need to start the “PrivateInitiator_To_LOB” and “PrivateResponder_To_LOB” send ports before you can start the “PrivateInitiatorProcess” and “PrivateResponderProcess” orchestrations.
  • On computers where you have configured an Internet Information Services (IIS) virtual server with Secure Sockets Layer (SSL), you must configure the virtual server to accept the client certificate. For more information, see the “Step 4: Enabling Secure Sockets Layer in IIS” topic in the MSDN Double Action Tutorial.
Start BTARN orchestrations, send ports, and receive locations
  • Start “BizTalk Server Administration” console as an administrator.
  • In the “BizTalk Server Administration Console”, in the left pane, expand “BizTalk Group”, expand “Applications”, and then expand “BizTalk Application 1”.
  • Click “Send Ports”.
    • In the right pane, for each BTARN send port that is not started, right-click and then click “Start”:
      • “PrivateInitiator_To_LOB” Static One-Way send port
      • “PrivateResponder_To_LOB” Static One-Way send port
  • Click “Receive Locations”.
    • In the right pane, for each BTARN receive location that is not started, right-click and then click “Enable”.
      • “Async_Http_Receive” HTTP location
      • “Sync_Http_Receive” HTTP location
      • “LOB_To_PrivateInitiator” SQL location
      • “LOB_To_PrivateResponder” SQL location
  • Click “Orchestrations”.
    • In the right pane, for each BTARN orchestration that is not started, right-click and then click “Start”
      • Microsoft.Solutions.BTARN.CommonTypes.OdxTypes
      • Microsoft.Solutions.BTARN.CommonTypes.SendExceptionToLOB
      • Microsoft.Solutions.BTARN.CommonTypes.SendExceptionToPrivateProcess
      • Microsoft.Solutions.BTARN.PublicResponder.PublicResponderProcess
      • Microsoft.Solutions.BTARN.PublicResponder.PublicResponderV11
      • Microsoft.Solutions.BTARN.PublicInitiator.PublicInitiatorProcess
      • Microsoft.Solutions.BTARN.PublicInitiator.PublicInitiatorV11
      • Microsoft.Solutions.BTARN.PrivateResponder.PrivateResponderProcess
    • Microsoft.Solutions.BTARN.PrivateInitiator.PrivateInitiatorProcess

However, sometimes, from some strange unknown reasons, even if the installation/configuration end up successfully, some of the artifacts may not be properly created/deployed in your BizTalk environment, for example ports and/or bindings. This situation already happen to me twice in several installations.

35-BTARN-After-instalattion-configuration-problems

In this particular problem, the reason was that, because the configuration process has their half dozens of failures/limitations/bugs, some of the binding files used by BTARN (generated by configuration/installation process) was configure to use the default host – that in my case it was incorrectly defined as “BizTalkServerApplication64Host”, a non-BTARN host – in the receive and send ports. The problem was that this particular host is used only to process orchestrations and it is not associated with any BizTalk adapter.

The solution in this situations is to understand the problem and manually fix. Fortunately for us Microsoft made available all the BTARN resources: DLL, source code, binding files and so on in the BTARN installation folder, which by default is:

  • “C:\Program Files (x86)\Microsoft BizTalk 2013 R2 Accelerator for RosettaNet”

It is recommend to validate if all the resources are correctly deploy and configured in your BizTalk Server. I already face an issue where I found out after finish the installation/configuration process that none of the DLL’s where deployed correctly in the environment:

  • In the “BizTalk Server Administration Console”, in the left pane, expand “BizTalk Group”, expand “Applications”, and then expand “BizTalk Application 1”.
  • Click “Resources” and you should find there 11 BTARN DLL’s (otherwise you need to manually deploy the missing ones)
    • Microsoft.Solutions.BTARN.CommonTypes.dll
    • Microsoft.Solutions.BTARN.GlobalSchemas.dll
    • Microsoft.Solutions.BTARN.PipelineReceive.dll
    • Microsoft.Solutions.BTARN.PipelineSend.dll
    • Microsoft.Solutions.BTARN.PrivateInitiator.dll
    • Microsoft.Solutions.BTARN.PrivateResponder.dll
    • Microsoft.Solutions.BTARN.PublicInitiator.dll
    • Microsoft.Solutions.BTARN.PublicResponder.dll
    • Microsoft.Solutions.BTARN.Schemas.RNIFv11.dll
    • Microsoft.Solutions.BTARN.Schemas.RNIFv201.dll
    • Microsoft.Solutions.BTARN.Schemas.RNPIPs.dll

36-BTARN-dlls

Note: You will find these DLL’s in the BTARN installation folder under the “Bin” folder: “C:\Program Files (x86)\Microsoft BizTalk 2013 R2 Accelerator for RosettaNet\Bin”

  • The second step is to fix and import the binding files.
    • Note: You will find these Binding Files in the BTARN installation folder under the “Bin” folder.
    • Note: Before you import it you need to manually fix manually, that way the Preparing your BizTalk Server 2013 R2 environment for BTARN section is very important to avoid these type of problems after the installation and configuration process.

37-BTARN-binding-files-problem

  • In this case to solve the problem that you need to:
    • Right-click in the “BizTalk Application 1”, and select the option “Import à Bindings…” and import the following binding files that you will find in the BTARN Bin folder:
      • CommonTypesBinding
      • PrivateInitiatorBinding
      • PrivateResponderBinding
      • PublicInitiatorBinding
      • PublicResponderBinding
  • The next step is to make sure that all the artifacts (orchestrations, send ports and receive locations) are associated with the BTARN hosts:
    • BizTalkServerApplication
    • BizTalkServerIsolatedHost
  • Click “Send Ports” and check if the following BTARN send ports are running under the “BizTalkServerApplication” send handler, otherwise you should modify it.
    • “PrivateInitiator_To_LOB”
    • “PrivateResponder_To_LOB”

38-BTARN-Send-Ports

  • Click “Receive Locations”.
    • Check if the following BTARN receive location are running under the “BizTalkServerIsolatedHost” receive handler, otherwise you should modify it.
      • “Async_Http_Receive”
      • “Sync_Http_Receive”
    • And check if the following BTARN receive location are running under the “BizTalkServerApplication” receive handler, otherwise you should modify it.
      • “LOB_To_PrivateInitiator”
      • “LOB_To_PrivateResponder”

39-BTARN-Receive-Locations

  • Click “Orchestrations” and check if the following BTARN orchestrations are running under the “BizTalkServerApplication” host, otherwise you should modify it
    • Microsoft.Solutions.BTARN.CommonTypes.OdxTypes
    • Microsoft.Solutions.BTARN.CommonTypes.SendExceptionToLOB
    • Microsoft.Solutions.BTARN.CommonTypes.SendExceptionToPrivateProcess
    • Microsoft.Solutions.BTARN.PublicResponder.PublicResponderProcess
    • Microsoft.Solutions.BTARN.PublicResponder.PublicResponderV11
    • Microsoft.Solutions.BTARN.PublicInitiator.PublicInitiatorProcess
    • Microsoft.Solutions.BTARN.PublicInitiator.PublicInitiatorV11
    • Microsoft.Solutions.BTARN.PrivateResponder.PrivateResponderProcess
    • Microsoft.Solutions.BTARN.PrivateInitiator.PrivateInitiatorProcess

40-BTARN-Orchestrations

You should do all of this configuration, to prevent future problems, otherwise, sooner or later you will have problems with BTARN.

Note: The Official documentation specifies that should restart the BizTalk Server machine to apply any modifications made in configuration and permissions. Fortunately, you don’t need that.

Configuring IIS Application Pool Identities

IIS supports running 32- and 64-bit web sites in separate application pools. Regarding to BTARN is very important to:

  • Set the BTARN application pool to 32-bit mode.
  • The Identity used in the BTARN Application pools should be the same that we use in the BTARN BizTalk Host Instance Account and the BizTalk Isolated Host Instance Account. Otherwise, BTARN in some situations may not work correctly.
    • If the service account set for the BTARN application pools is different from the Isolated Host account, BTARN will not be able to process incoming messages correctly. When the receive “.aspx page” calls the pipeline, the pipeline will not have access to the appropriate certificates. Therefore, it will not be able to decrypt the incoming message or validate the signature. It will also not be able to access the MessageBox database.

To change the Identity property of BATRN application pools you need to:

  • Open the IIS Management Console
  • On the left three in the “Internet information Services (IIS) Manager” console, click in “Application Pools” node underneath the machine node.
  • Right-click the “BTARNAppPool” application pool and select “Advanced Settings…
    • Select the “Identity” list item and click the ellipsis, the following dialog appears:

41-BTARN-IIS-BTARNAppPool-Application-pool-settings

    • Select the “Custom account” option and set the same service account used for the Isolated Host and Host instances
  • Do the exact same steps for the “BTARNHttpReceivePool” application pool.

42-BTARN-IIS-Application-pools

Related links: