Quantcast
Channel: Configurations – SANDRO PEREIRA BIZTALK BLOG
Viewing all 32 articles
Browse latest View live

Receiving a RNIF exception: UNP.SCON.VALERR: A failure occurred while validating the service content while you are extending Microsoft BizTalk Accelerator for RosettaNet (BTARN) with a new Partner Interface Process (PIP) schema.

$
0
0

In my opinion there are a lack of documentation, or good documentation and many of the existing one is obsolete, regarding some topics/feature of BizTalk Server – Microsoft BizTalk Accelerator for RosettaNet is one of them.

Today while I was trying to extend Microsoft BizTalk 2013 Accelerator for RosettaNet (BTARN) with a new receive Partner Interface Process (PIP) schema I was receiving the following error in the event log:

Source module:
RNDisAssembler

Correlation information:

Description:
Receive pipeline rejected incoming message due to the following RNIF exception:
UNP.SCON.VALERR: A failure occurred while validating the service content.

Details:
The document specification <MyNamespace.MyPIP> from assembly <MyAssemblyName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=…> failed to load. Verify the schema for this document specification is deployed and is in the Global Assembly Cache.

Note: this same error can occur in previous or new versions of BizTalk Server.

Based on the received error and according to a possible cause described by Microsoft at Troubleshooting: Microsoft BizTalk Accelerator for RosettaNet Issues and Resolutions either the document namespace or the root node property the deployed schema for the instance that you are trying to extend is incorrect.

In fact this could be the issue but I found really odd because in the error details my DLL, containing the schema that I was trying to extend, was being properly referenced, nevertheless I confirmed that it was properly deployed… But as I suspected this wasn’t my problem.

Note: this behavior does not happen with PIP that include out-of-the-box with BTARN (in the Microsoft.Solutions.BTARN.Schemas.RNPIPs dll) only with new ones and only in the incoming process.

Microsoft-Solutions-BTARN-Schemas-RNPIPs

Fortunately for us we have an extended BizTalk Server: List of Errors and Warnings, Causes, and Solutions at TechNet Wiki, I usually update with some frequency and that I used as a reference, which gave me some clues to the final solution. Nick Heppleston mention in his blog that:

“RN Disassembler does in-fact attempt to validate the message contained within the Service Content against a deployed schema just like the standard XmlDisassembler. The message that our trading partner was sending did not validate and hence the RosettaNet Accelerator threw this error message; once we had corrected the schema and redeployed, the error went away.

This is certainly one to be aware of if you are developing custom PIP’s to use with the RosettaNet Accelerator: ensure that the message in the Service Content validates against your custom PIP schema”

Again this isn’t my problem, because the Schema was properly deployed in the system, I only mention this because is important for understanding how the BTARN engine/processes works.

Cause

By default BTARN App Pool Settings are configured to use .NET framework 2.0, doesn’t enable 32-bit applications and the application pool is in Classic mode

BTARN-App-Pool-default-Settings

Important for you to know is that the accelerator requires both an in-process and out of process host, both of which must be marked as “Authentication Trusted” and “32-bit only”.

To run the BTARN End to End scenario you need two important things:

  • Enable the BTARN Application Pools for 32 bit.
  • Add a HTTP Handler for *.dll refering the IsapiModule Filters.

But what I found today is that when you want to extend BTARN with new incoming PIP’s, the artifacts generated are going to be .NET 4.0/4.5 unless Visual Studio is configured to do otherwise, which we really cannot control using BizTalk projects:

re-targeting-Visual-Studio-BizTalk-Projects-error

This means along with setting the application pools for the 32-bit the .NET setting must be set to match.

Solution

To solve this issue you must:

  • Type “Internet Information Services (IIS) Manager” or “IIS” in the Windows Start screen and click in “Internet Information Services (IIS) Manager” option on Apps menu.
  • Expand the server and click on “Application Pools” to display available application pools in center panel.
  • Right-click on “BTARNAppPool” and select “Advanced Settings”.
  • On the “Advanced Settings” window:
    • Change the value of “.NET Framework version” from “v2.0” to “v4.0”.
  • Change the value of “Enable 32-bit Applications” from “False” to “True”.
  • And then click “OK”.

BTARN-App-Pool-correct-Settings

Advice: you should do the same for the “BTARNHttpReceivePool” application pool

After I fix these configurations I was able to successfully receive the PIP message from my external Partner.

Credits to LemMotlo – BTARN App Pool Settings for BizTalk 2010


BizTalk WCF-SAP Adapter: RFC IDOC_INBOUND_ASYNCHRONOUS could not be resolved against SAP system because its metadata could not be obtained

$
0
0

Recently one of my clients migrated one of their SAP systems and after that intervention the BizTalk receive location that was listening in a specific Program ID started to failed with the following error message present in the event viewer: “RFC IDOC_INBOUND_ASYNCHRONOUS could not be resolved against SAP system because its metadata could not be obtained

Full error message:

The adapter “WCF-Custom” raised an error message. Details “Microsoft.ServiceModel.Channels.Common.MetadataException: RFC IDOC_INBOUND_ASYNCHRONOUS イ楸 could not be resolved against SAP system because its metadata could not be obtained. —> Microsoft.Adapters.SAP.RFCException: Details: ErrorCode=RFC_EXCEPTION. ErrorGroup=RFC_ERROR_APPLICATION_EXCEPTION. SapErrorMessage=EXCEPTION FU_NOT_FOUND RAISED. AdapterErrorMessage=An error occurred while determining the function interface of the RFC IDOC_INBOUND_ASYNCHRONOUS イ楸.
at Microsoft.Adapters.SAP.RFCException.HelperThrow(Int32 retCode, String additionalErrorMessage)
at Microsoft.Adapters.SAP.RfcClientConnection.GetRfcFunctionInterface(String rfcName)
at Microsoft.Adapters.SAP.InternalRfcMetadata..ctor(String originalRfcName, SAPConnection sapConnection)
at Microsoft.Adapters.SAP.SAPMetadataContract.ResolveOperationMetadata(String operationId, TimeSpan timeout, TypeMetadataCollection& extraTypeMetadataResolved)
at Microsoft.ServiceModel.Channels.Common.Design.MetadataCache.GetOperationMetadata(String uniqueId, Guid clientId, TimeSpan timeout)
at Microsoft.Adapters.SAP.SapFunctionMetadata.ResolveOperationMetadataUsingSdk(String absoluteName, String displayName, String funcName, String operationNamespace, SAPConnection sapConnection, Boolean isTrfc, MetadataLookup metadataLookup, TimeoutHelper timeoutHelper)
— End of inner exception stack trace —
at Microsoft.ServiceModel.Channels.Common.Design.AdapterAsyncResult.End()
at Microsoft.ServiceModel.Channels.Common.Channels.AdapterReplyChannel.EndTryReceiveRequest(IAsyncResult result, RequestContext& requestContext)
at System.ServiceModel.Dispatcher.ReplyChannelBinder.EndTryReceive(IAsyncResult result, RequestContext& requestContext)
at System.ServiceModel.Dispatcher.ErrorHandlingReceiver.EndTryReceive(IAsyncResult result, RequestContext& requestContext)”.

Of course followed by the generic warning messages:

The adapter “WCF-Custom” raised an error message. Details “Microsoft.Adapters.SAP.RFCException: Details: ErrorCode=RFC_INVALID_HANDLE. AdapterErrorMessage=An exception has occurred on the listener while executing RfcWaitForRequest..”.

The adapter “WCF-Custom” raised an error message. Details “System.ServiceModel.CommunicationObjectFaultedException: The communication object, Microsoft.ServiceModel.Channels.Common.Channels.AdapterReplyChannel, cannot be used for communication because it is in the Faulted state.”.

The adapter “WCF-SAP” raised an error message. Details “The WCF service host at address “sap://CLIENT=[SAPClientID];LANG=[LANG];@A/[SAPServer]/[SystemID]?ListenerGwServ=[GWServer]&ListenerGwHost=[GwHost]&ListenerProgramId=[ProgID]&RfcSdkTrace=True&AbapDebug=False” has faulted and as a result no more messages can be received on the corresponding receive location. To fix the issue, BizTalk Server will automatically attempt to restart the service host.”

However this time Wireshark didn’t provide me additional information to help me diagnose and solve the problem.

Cause

Well I’m not an “SAP expert” neither I have the intension to become, I only want to know and understand the basic, so I can properly diagnose and resolve the different problems that may arise.

In this case, and sorry if I’m not giving all the precise technical details, the root cause of this problem is related to the Encoding type of the RFC Connection – Non-Unicode or Unicode (you may see the differences between them here)

Additional you can found some useful information in this two forum threads:

Solution

You should keep this SAP transaction names in mind: SALE, SM59, WE20, WE21 and WE02 As my dear friend Nino Crudele mention in one of his posts, “in SAP exist thousands of transactions, the most important for us are, SALE, SM59, WE20, WE21, WE02.”

In this particular problem you should use SM59 transaction to check if all the configuration are set correctly like the: message type, program id, the channel and so on… but in special the Unicode settings

For that you should the following macro steps

  • Launch SAPGUI and login in the SAP System.
  • Execute the SM59 (Display and maintain RFC destinations) transaction
  • Select TCP/IP Connections option and pick RFC destination that we are using
    • Go to special options and check the “Character Width in Target System” in the Unicode tab.

SAPGUI-SM59-RFC-destination-TCP-IP-Connections-Unicode

Make sure the Unicode option is selected, otherwise to contact your SAP team and they must ensure that the RFC Connection is properly configured to use Unicode.

In my case, by changing the RFC Connection from non-unicode to unicode solved the problem that we were facing.

WCF-SAP Adapter: Finding the document specification by message type [IDOC Message Type] failed. Verify the schema deployed properly.

$
0
0

In the sequence of my last post, and following the result obtained while trying to solve the problems that had been originated by the SAP system migration to a newer version, I end up receiving another error. This time the connectivity problem with SAP was overcome, however without any reason I started to receive an error saying that the schema was not known

I got the following error:

“There was a failure executing the receive pipeline: “Microsoft.BizTalk.DefaultPipelines.XMLReceive, Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35” Source: “XML disassembler” Receive Port: “IN_IDOC_PORT” URI: “sap://CLIENT=[SAPClientID];LANG=[LANG];@A/[SAPServer]/[SystemID]?ListenerGwServ=[GWServer]&ListenerGwHost=[GwHost]&ListenerProgramId=[ProgID]&RfcSdkTrace=True&AbapDebug=False” Reason: Finding the document specification by message type “http://Microsoft.LobServices.Sap/2007/03/Idoc/3/IDOC_NAME//740/Receive#Receive” failed. Verify the schema deployed properly.”

It was strange to receive this kind of error because the process was in testing stage, for about a month, and working properly.

Cause

After the SAP System migration to a newer version the process started also to use a newer version of the IDOC Schema. I really don’t know if the SAP team change anything in the SAP side or it had to do with the migration itself, however when I checked the source code I noticed that we were using the 711 version of the schema:

  • http://Microsoft.LobServices.Sap/2007/03/Idoc/3/IDOC_NAME//711/Receive#Receive

And now the SAP system process was using and sending the 740 version of the schema:

  • http://Microsoft.LobServices.Sap/2007/03/Idoc/3/IDOC_NAME//740/Receive#Receive

Solution

The solution is very simple, you just need to generate and import the newest version of IDOC schema (740) to your BizTalk Solution, make all the necessary changes and redeploy all the required artifacts (schemas, orchestrations, maps, and so on)

BizTalk Accelerator for RosettaNet runtime feature failed to configure: Failed to add member ‘user’ to NT Group IIS_WPG Error code: -2147022676

$
0
0

Every time I try to configure the BizTalk Accelerator for RosettaNet in BizTalk Server 2013 or BizTalk Server 2013 R2 of course using Windows Server 2012 or Windows Server 2012 R2 I encounter this error in the configuration logfile

[2015-05-14 16:37:40:0043 Error ConfigHelper] Failed to add member ‘user’ to NT Group IIS_WPG Error code: -2147022676
[2015-05-14 16:37:40:0043 Error ConfigHelper] The group name could not be found

BTARN-The-group-name-could-not-be-found

Cause

When, basically this is a bug that has not been fixed yet. BizTalk Accelerator for RosettaNet was introduced in BizTalk Server 2004 and since there only little or no changes were made.

BTARN requires the IIS_WPG group (group provided by IIS 6.0 that provides the minimum set of user rights and permissions required to run an application) but unfortunately for us this group doesn’t exist anymore…

Solution

The solution is very simple… you just need to create it manually.

To accomplish that you need to:

  • Open Computer Management and in the console tree, expand “System Tools à Local Users and Groups” and then right-click Groups and select the option New Group .
  • In Group name
    • Type: IIS_WPG.
  • In Description
    • Type: RosettaNet IIS group
  • And then click Create, and then click Close

I really hope that Microsoft provide a hotfix for this or at least fix this problem in the next releases of the product

How to Install and Configure Microsoft BizTalk 2013 R2 Accelerator for RosettaNet: Important considerations before you install BTARN (Part 1)

$
0
0

This series of post will explain in detail – a step-by-step guide – how to install and configure Microsoft BizTalk 2013 R2 Accelerator for RosettaNet (BTARN) on a standalone environment running Windows Server 2012 R2 and BizTalk Server 2013 R2.

RosettaNet is a business protocol that enables enterprises to conduct business over the Internet. The RosettaNet Consortium (http://www.rosettanet.org) is an independent, nonprofit consortium of major information technology, electronic component, and semiconductor manufacturing companies working to create and implement industry-wide, open process standards. These processes are designed to standardize the electronic business interfaces used between participating supply chain partners. The RosettaNet Implementation Framework (RNIF) specification is a guideline for applications that implement RosettaNet Partner Interface Processes (PIPs). These PIPs are standardized electronic business processes used between trading partners. You can find all the Framework specification and the list of PIPs available, as well the PIPs contract (DTD and documentation) in the RosettaNet Consortium website: http://www.rosettanet.org.

BTARN will extend the existing BizTalk Server capabilities allowing you to run RosettaNet Partner Interface Processes (PIPs) and by doing that, this will allow you to exchange RosettaNet documents with your business partners, by simple providing a set of orchestrations, schemas, tools and related helper assemblies. BTARN supports the RosettaNet Implementation Framework (RNIF) versions 1.1 and 2.0.01. However installing the accelerator can be difficult if you do not plan correctly for it.

This guide will provide you comprehensive guidelines that will help you plan the installation and configuration of BTARN.

Assumptions and out of scope

It will be assumed that all the BTARN software requirements already have been installed. This guide will use BizTalk Server 2013 R2 running over Windows Server 2012 R2 with all the latest critical Windows updates from Microsoft and latest Cumulative Updates for BizTalk Server installed.

Important considerations before you install the RosettaNet Accelerator

There are some important considerations or suggestions, since some of these operations are not mandatory, that we can and should set before starting the installation and configuration Microsoft BizTalk 2013 R2 Accelerator for RosettaNet (BTARN).

Software Requirements

The following table lists the software that BizTalk 2013 R2 Accelerator for RosettaNet (BTARN) requires to run correctly. BTARN has the same software and hardware requirements as BizTalk Server 2013 R2.

Software Required Description Required for/Information
Microsoft Windows · Windows Server 2012 R2· Windows Server 2012

· Windows 8.1

· Windows 7 SP1

Microsoft BizTalk Server 2013 R2 · Enterprise Edition· Standard Edition

· Developer Edition

Internet Information Services (IIS) The version that comes with the operating system.· IIS version 8.0 and 7.5 are supported.
Microsoft Office OptionalMicrosoft Office Excel 2013 or 2010.

BizTalk Server 2013 R2 supports only 32-bit version of Microsoft Office.

(installed on client computers when using BAM)

Required by Business Activity Monitoring (BAM) to display a real-time view of business processes
Microsoft SQL Server · Microsoft SQL Server 2014· Microsoft SQL Server 2012 SP1 This is required for BTARN Runtime, BizTalk Server Runtime, EDI, and BAM
SQL Server Analysis Services if using BAM aggregations
SQLXML 4.0 with Service Pack 1 SQLXML enables XML support for your SQL Server Database. It allows developers to bridge the gap between XML and relational data. You can create XML View of your existing relational data and work with it as if it was an XML file.Note: You don’t need to worry about installing this because Redistributable CAB File will install this for you if necessary. This is required for BizTalk Server Runtime, Administrative Tools, and BAM.
Windows Identity Foundation OptionalThe official documentation mention that Microsoft Windows SharePoint Services is a requirement.

However I think this is not correct/necessary. Until this date I don’t see any connection between the accelerator and the SharePoint Service.

SharePoint Services adapter or SharePoint Services Online when used with SharePoint Services Client Side Object Model (CSOM). It is not needed when using the SharePoint Services Web Service, which is deprecated. Or when you don’t want to use this feature.
Microsoft Visual Studio OptionalVisual Studio 2013 Provides a development environment for building BizTalk Server applications. Ultimate Edition is recommended, but Premium and Professional are also supported. This is required for BizTalk Server Developer Tools and SDK component

Things to be taken care

When you are planning to install Microsoft BizTalk 2013 R2 Accelerator for RosettaNet (BTARN), you need to be very careful with certain, documented and non-documented, notes or necessary configuration in your existing BizTalk environment. These are the notes in the official documentation:

  • Both BTARN and BizTalk Server 2013 R2 require Microsoft .NET Framework 4.5 as software pre-requisite.
    • If you have multiple versions of .NET Framework installed on your computer, make sure that the BtarnAPP Web application is referencing .NET Framework 2.0. You can configure this by using the Internet Information Services (IIS) Manager.
    • Personal note: Despite the official documentation saying that the BtarnAPP Web application need to refer .NET Framework 2.0, what I noticed is that it will work properly in .NET 4.0.
  • The BizTalk Host Instance Account and the BizTalk Isolated Host Instance Account should be the same. Otherwise, BTARN will not function correctly.
  • BTARN allows you to add only individual service accounts, and not groups, to the BizTalk Server Administrators group or the BizTalk Application Users group.
  • You need to create a WebService extension for BTSHTTPReceive.dll, configuring the IIS isolation mode.
  • Add your server (http://<server name>) to the Local Internet zone in the Internet Explorer security options.
  • If a remote SQL instance using non default port is used for configuring BTARN, then the SQL Server Client Tools must be installed locally.
  • A separate group must be used for role – BizTalk Administrator, BizTalk Host Users, and BizTalk Isolated Host Users during the configuration of BizTalk Server.
  • BTARN does not support the use of alias created for SQL instance to configure the BTARN database.

Unfortunately for us, there are still plenty of notes or the necessity to perform additional settings in our environment so that the minimal conditions are guaranteed for BTARN be able to run properly:

  • Installation
    • RosettaNet requires the IIS_WPG group (group provided by IIS 6.0 that provides the minimum set of user rights and permissions required to run an application) unfortunately for us this group doesn’t exist anymore, so you need to create it manually. Otherwise, BTARN installation will fail.
  • Host Instances
    • The accelerator requires both in-process and isolated host to be marked as “Authentication Trusted” and “32-bit only“. Otherwise, BTARN installation will fail.
      • Very important: The accelerator requires both in-process and isolated host to be marked as “Authentication Trusted” (this setting is off by default when you create a new host) and “32-bit only“.
        • And the reason why in-process need to be also trusted is that the BizTalk Host Instance Account and the BizTalk Isolated Host Instance Account should be the same and you cannot use the same account for trusted and untrusted hosts. Otherwise it was only necessary to mark the isolated host as trusted.
    • The BizTalk Host Instance Account and the BizTalk Isolated Host Instance Account should be the same. Otherwise, BTARN will 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.
    • Do never use Full Qualify domain name in the Logon credentials. Otherwise, BTARN will not work correctly.
    • Make sure the BTARN in-process host is the default send handler of HTTP Adapter and the general Default Host in the group
      • Important: Make sure the BTARN in-process host is the default send handler of the HTTP Adapter. When you create a Partner it will create two send ports and it will use the default send handler for the HTTP Adapter: If the BTARN in-process host is not the default handler, the engine will use the default one instead and then you need to stop the BTARN process, unbinding the send ports, reconfigure the send handler and only then start everything again, so this will induce a small shutting down in our environment.
      • When installing the accelerator, it will install all the assemblies into the default BizTalk Application, and will attempt to configure all orchestrations and ports to run in the first host it finds that is marked as “Authentication Trusted”.  To ensure everything is installed to the host instances you need to:
        • Temporarily make the trusted host instance as the default instance (not recommended).
        • Or if you want the assemblies to be in a different application than the default, create a new application in the BizTalk Administration Console and set it as the default during the installation.
  • BAM
    • Microsoft provide a Tracking file with the activity definitions. However: you need to create your custom BAM views
      • BTARN supports enhanced tracking using BizTalk Activity Monitoring (BAM).
        • Right-click the BizTalk Accelerator for RosettaNet node and then click Properties.
        • In the Global Properties dialog box, select Enable BAM Tracking to enable tracking, or clear this option to disable it.
      • Microsoft provide a Tracking file with the activity definitions however:
        • The tracking points are not customizable;
        • Do not change activity definitions.
        • You only can Manage BAM views and deployment.
  • Databases Maintenance
    • BTARN database are not backuped by default
      • Fortunately for us, Microsoft provides two SQL Scripts that you need to run against this databases in other to extend the standard backup mechanisms but you also need to modify the adm_OtherBackupDatabases table to include a row for each of your custom databases.
        • C:\Program Files (x86)\Microsoft BizTalk Server 2013 R2\Schema
          • Backup_Setup_All_Procs.sql
          • Backup_Setup_All_Tables.sql
        • Also you need to modify the adm_OtherBackupDatabases table to include a row for each of your custom databases
    • There are no maintenance processes to clean up BTARN databases so you need to create these maintenance processes according to the legal requirements of your company/organization, be aware that:
      • BTARN databases can grow quickly because they contain the PIP XML that you are processing
      • They can affect the performance of your environment
      • They are important

 

Related links:

How to Install and Configure Microsoft BizTalk 2013 R2 Accelerator for RosettaNet: Preparing your BizTalk Server 2013 R2 environment for BTARN (Part 2)

$
0
0

This may be the most important section in order for you to accomplish a successfully BTARN installation and configuration and at the same time preventing further additional problems. Again, the installation and configuration process is very simple, however be able to correctly configure the accelerator in order to work properly can be difficult if you do not plan correctly for it.

This part will focus on how to prepare your existing BizTalk Server 2013 R2 environment for BTARN.

Create a new account to be associated with the BTARN hosts

As mention before the accelerator requires both BTARN in-process and BTARN isolated host to be marked as “Authentication Trusted” and “32-bit only“ and the account associated with these Host instances should be the same, otherwise, BTARN will not work correctly.

“Authentication Trusted” is off by default when you create a new host, or if you don’t specify in the BizTalk Server configuration process that you want this setting enable. And BizTalk will not allow you to use the same user account for both trusted and untrusted hosts.

Also because, for security aspects, we don’t want to have all our host instances marked as “Authentication Trusted” it is necessary for us to create:

  • A new user account that will be associated to the trusted hosts.
  • And a new user account (support account) that will help us in the switching host process from untrusted to trusted.

Note: Sometimes it is often easier/more desirable to create a new User Group with the same privileges of the “BizTalk Application Users” group (let’s say: BTARN BizTalk Application Users) and a new user account that will be associated with this group to run all the BTARN processes.

To accomplished that we need to:

  • Press the “Windows key” to switch to the Start screen, type “Computer Management” and click in “Computer Management” option from the Search menu
  • On the left three of the “Computer Management” screen,, expand “System Tools à Local Users and Groups” and select “Users”
  • Right click under “Users” folder, and then select “New User…”

01-BTARN-Add-New-User-local-computer

  • In the “New User” dialog box, do the following:
    • User name: Type the user name. For this guide let’s assume “btsadmin
    • Full name: Optionally, type a full user name for this account.
    • Description: Optionally, type a description for this account.
    • Password: Type a password for the user.
    • Confirm password: Confirm the password for the user.
    • And leave only the “Password never expires” check box enabled

Note: Make sure that the user that you are creating (btsadmin) it has:

  • The same privileges of the existent BizTalk Admin Account (in my case or in developer environments)
  • It has the same privileges of the existent Account associated in the “BizTalk Application Users” group

Repeat the same steps to create another account for support, let´s call it “supportacc”:

  • This account will be deleted after the installation/configuration
  • Normal user account, it doesn’t requires any particular privileges

(Re)Configure BizTalk Host and Host Instances to support BTARN

BizTalk Server provides great flexibility for addressing high availability, because you can strategically dedicate logical hosts to run specific areas of functionality such as receiving messages, sending messages or processing orchestrations.

By default the BizTalk configuration will create two BizTalk Host and Host Instances:

  • BizTalkServerApplication: This is the default Host and Host Instance created during configuration that will do all the work on the BizTalk Server, i.e. is the default send and receive handler for all installed adapters (other than HTTP, WCF (BasicHttp, CustomIsolated, WebHttp and WSHttp) and SOAP Receive Handlers), and is also used for processing orchestration and tracking.

02-BTARN-BizTalkServerApplication-Host

  • BizTalkServerIsolatedHost: The logical container for HTTP, WCF (BasicHttp, CustomIsolated, WebHttp and WSHttp) and SOAP Receive Handlers.

03-BTARN-BizTalkServerIsolatdHost-Host

Although a single BizTalk Host can contain items that receive, send, and process messages, it is considered a best practice to create different hosts for each function to create security boundaries and for easier management and scalability. In particular, we recommend that you use different hosts for processing and for receive/send operations, and that you separate trusted and non-trusted items.

While there are benefits to creating additional host instances, there are also potential drawbacks if too many host instances are created.

  • Each host instance is a Windows service (BTSNTSvc.exe), which generates additional load against the MessageBox database and consumes computer resources (such as CPU, memory, threads).

Regarding to BTARN installation and configuration process, it becomes more difficult to configure when we have multiple host and host instances created, compared with the default configuration (with only two BizTalk Host and Host Instances) and the reasons are:

  • The accelerator requires both in-process and isolated hosts that will run BTARN artifacts to be marked as “Authentication Trusted” (this setting is off by default when you create a new host), “32-bit only” and should run under the same service account.

To ensure everything is installed and configured properly we have different options:

  • Temporarily mark all the hosts as “Authentication Trusted” and the “32-bit only” host as the default host
    • Of course, this is not the recommended solution, but is the easier one.
  • Or we need to properly configure the hosts and host instances to handle correctly BTARN.

Because I have all my environments, even my developer environments, with host separation according to some of the best practices described here: BizTalk Server Best Practices: Create and Configure BizTalk Server Host and Host Instances. I need to properly configure the hosts and host instances to handle correctly BTARN, to accomplish that we need to:

  • Press the “Windows key” to switch to the Start screen, type “BizTalk Server” and click in “BizTalk Server Administration” option from the Search menu
  • In the console tree, expand “BizTalk Server Administration”, expand the “BizTalk group”, click “Platform Settings”, and then click “Host Instances”.
  • Now we need to change all the host instances, with the exception of “BizTalkServerApplication” and “BizTalkServerIsolatedHost” (these two will be running the BTARN artifacts), to run under this last user that we just created in the last section: “btsadmin
    • Right-click in the host instance name, for example “BizTalkServerReceiveHost”, and select “Stop”

04-BTARN-stop-host-instances

    • In the details pane, right-click the host instance you want to modify, and then click “Properties, for example: “BizTalkServerReceiveHost”
    • In the “Host Instance Properties” dialog box, click “Configure” to modify the service account information.

05-BTARN-configure-host-instances-logon-credentials

    • Change the logon credentials to run under the “btsadmin” account

06-BTARN-configure-host-instances-logon-credentials

    • Do the rest for all the host instances that you have with the exception of “BizTalkServerApplication” and “BizTalkServerIsolatedHost” host instances.

07-BTARN-configure-host-instances-logon-credentials

The next step is to configure the both BTARN in-process and isolated hosts to be marked as “Authentication Trusted” and “32-bit only” but because we still have two non-trusted host instances running with the same account that we need to mark as trusted and we cannot have the same account being used as “Authentication Trusted” and non “Authentication Trusted”, we first need to provisionally change one of the host instance, to use the “supportacc” account, we can use for example the “BizTalkServerIsolatedHost” host instance

  • Right-click in the “BizTalkServerIsolatedHost” name, and then click “Properties
  • In the “Host Instance Properties” dialog box, click “Configure” to modify the service account information.
    • Change the logon credentials to run under the “supportacc” account

Now we need to change the “BizTalkServerApplication” Host configuration and mark it as:

  • “32-bit only” à by default is already marked as 32-bit only
  • And “Authentication Trusted”

To accomplish that we need to:

  • In the BizTalk Server Administration console tree, under “Platform Settings”, click “Hosts”.

08-BTARN-BizTalk-administration-console-hosts

  • In the “Hosts” pane, right-click the host that is not trusted, in this case “BizTalkServerApplication”, and then click Properties.
  • In the “Host Properties” dialog box, on the “General” tab:
    • Verify if the “32-bit only” check box is selected, if not select the “32-bit only” check box
    • Verify if the “Authentication Trusted” check box is selected, if not select the “Authentication Trusted” check box

09-BTARN-Authentication-trusted

  • And then click OK.
  • Now do the exact same to the “BizTalkServerIsolatedHost” host

10-BTARN-Authentication-trusted

Because the BTARN BizTalk Host Instance Account and the BizTalk Isolated Host Instance Account should be the same we need to change the “BizTalkServerIsolatedHost” host instance logon account, which we momentarily configured to run under the “supportacc” account to be the same of the “BizTalkServerApplication” host instance: “Administrator”.

  • In the BizTalk Server Administration console tree, under “Platform Settings”, click “Host Instances”.
  • Right-click in the “BizTalkServerIsolatedHost”, and then click “Properties
  • In the “Host Instance Properties” dialog box, click “Configure” to modify the service account information.
    • Change the logon credentials to run under the “Administrator” account

10-BTARN-host-configurations

Finally you should restart all the BizTalk Host instances services.

Note: Because we don’t really want to run all our isolated processes under a trusted host instance, I recommend you to create a new Isolated Host and Host Instance that you should configured as non-“Authentication Trusted” and set to run under the “btsadmin” account (in this scenario). For that operation please check the following MSDN articles:

Configure the Default Host and Default Handlers

The last concern that you need to have regarding with BizTalk Host and Host instances are the:

  • General Default Host in the group
  • And the Default send handler of HTTP Adapter and SQL Adapter

Again, as explained previously, when we are installing the RosettaNet Accelerator, the installer will install all the BTARN assemblies into the default BizTalk Application: “BizTalk Application 1”, and will attempt to configure all the orchestrations and ports (receive and send) to run not with the first host that it finds that is marked as “Authentication Trusted” but instead with the default host and handlers that are configured in the environment.

To ensure that everything will be configured properly, or at least minimize some problems, with the BTARN configuration process you need to:

  • Make sure the BTARN in-process host (BizTalkServerApplication) is the general Default Host in the group

11-BTARN-BizTalkServerApplication-mark-as-default-host

  • Make sure the BTARN in-process host (BizTalkServerApplication) is the default send handler of the SQL Adapter (yes the old obsolete one – not the WCF-SQL) and it is also associated with the receive handler.

12-BTARN-BizTalkServerApplication-default-send-handler

  • Make sure the BTARN in-process host (BizTalkServerApplication) is the default send handler of the HTTP Adapter.

13-BTARN-BizTalkServerApplication-default-send-handler

  • And of course the BTARN isolated host (BizTalkServerIsolatedHost) is configured to be the receive handler of the HTTP Adapter.

14-BTARN-BizTalkServerApplication-http-receive-handler

Create the IIS_WPG group

When configuring BTARN on Windows 8.1, Windows Server 2012, and Windows Server 2012 R2, you must create the IIS_WPG group manually. We need this because RosettaNet accelerator requires the IIS_WPG group (group provided by IIS 6.0 that provides the minimum set of user rights and permissions required to run an application) but unfortunately for us this group doesn’t exist anymore in the SO listed above, so you need to create it manually. Otherwise, BTARN installation will fail.

To accomplished that you need to:

  • Press the “Windows key” to switch to the Start screen, type “Computer Management” and click in “Computer Management” option from the Search menu
  • In the console tree, expand “System Tools”, expand the “Local Users and Groups”, and then click “Groups”.

15-BTARN-Computer-Management-Local-Users-and-Groups

  • Right click under “Groups” folder, and then select “New Group…”
  • In the New Group dialog box, set the following parameters:
    • In Group name, type “IIS_WPG”.
    • In Description, type “RosettaNet IIS group”

16-BTARN-create-IIS_WPG-group

  • Click “Create”, and then click “Close”.

Create a WebService extension for BTSHTTPReceive.dll

BTARN uses the HTTP adapter to send (left picture) or receive (right picture) PIPs to and from different partners:

17-BTARN-architecture

If the PIP process is asynchronous, each message transmission over the Internet occurs on a different HTTP connection. If the PIP is synchronous, each message transmission occurs on the same connection, which the HTTP adapter holds until the process is complete.

For that reason we need to create a WebService extension for the BTSHTTPReceive.dll and configure the IIS isolation mode. To accomplish that we need to:

  • Press the “Windows key” to switch to the Start screen, type “IIS” and click in “Internet Information Services (IIS) Manager” option from the Search menu
  • In Internet “Information Services (IIS) Manager” screen, select the root Web server entry. In the “Features View”, double-click “Handler Mappings”

18-BTARN-Information-Services-Manager-Handler-Mappings

  • And then in the Actions pane, click “Add Script Map…”

19-BTARN-Information-Services-Manager-Handler-Mappings-Add-Script-Map

  • In the “Add Script Map” dialog box, in the “Request path” field, type “BtsHttpReceive.dll”.
    • In the “Executable” field, click the ellipsis () button and browse to “C:\Program Files (x86)\Microsoft BizTalk Server 2013 R2 \HttpReceive”.
      • And select “BtsHttpReceive.dll” and then click “OK”.
    • In the “Name” field, type “BizTalk HTTP Receive”

20-BTARN-IIS-Add-Script-Map-BtsHttpReceive.dll

    • Then click “Request Restrictions”.
    • In the “Request Restrictions” dialog box, click the “Verbs” tab and then select “One of the following verbs”.
      • Enter “POST” as the verb.

21-BTARN-IIS-Add-Script-Map-BtsHttpReceive.dll

  • On the “Access” tab, select “Script”, and then click “OK”.

22-BTARN-IIS-Add-Script-Map-BtsHttpReceive.dll

  • When prompted to allow the ISAPI extension, click “Yes”.
  • Do the exact same process this time using the “C:\Program Files (x86)\Microsoft BizTalk Server 2013 R2\HttpReceive64\BTSHTTPReceive.dll”

23-BTARN-IIS-Add-Script-Map-BtsHttpReceive.dll-64-bit

Related links:

How to Install and Configure Microsoft BizTalk 2013 R2 Accelerator for RosettaNet: Install and configure Microsoft BizTalk 2013 R2 Accelerator for RosettaNet (BTARN) (Part 3)

$
0
0

This part will focus on installing and configuring Microsoft BizTalk 2013 R2 Accelerator for RosettaNet.

Make sure that you have installed all the prerequisites and prepared you environment for the RosettaNet accelerator.

Install Microsoft BizTalk 2013 R2 Accelerator for RosettaNet

BizTalk Accelerator for RosettaNet is available in the BizTalk Server installation disk (ISO) under: “BizTalk Accelerators” folder.

  • Access to “BizTalk Accelerators” folder in the BizTalk Server ISO, and then run the Setup.exe file.

24-BTARN-installation-folder

  • On the Start page, click “Microsoft BizTalk 2013 R2 Accelerator for RosettaNet”

25-BTARN-Installation-Wizard

  • On the “Installation Wizard” screen for Microsoft BizTalk Accelerator for RosettaNet, click “Install”.

26-BTARN-Installation-Wizard

  • On the “Customer Information” page, type your user name, organization, and the product key, and then click “Next”.

26-BTARN-Installation-Wizard-Customer-Information

  • On the License Agreement page, read the End User License Agreement, and then click Accept.

27-BTARN-Installation-Wizard-License-Agreement

Note: If you do not accept the license agreement, you cannot continue with the installation.

  • On the “Installation Options” page, select “Complete” for a full installation and ensure the installation path is correct, and then click “Next”.
    • Or if you wish so, you can also customize the features that you want to install or perform apartial installation by selecting the “Custom” option
      • Note: If you select Custom, select the components to install from the Custom Installation page. If you select to install SDK or Documentation components only, you must have .NET Framework 4.5 installed before running the setup program.

28-BTARN-Installation-Wizard-Installation-Options

  • On the “Summary” page, review the components you are installing, and then click “Install”.
    • The Installation Progress screen displays the progress of the installation procedure.

29-BTARN-Installation-Wizard-Summary

  • On the “Installation Completed” page, ensure the Run Configuration Wizard box is selected, and then click “Finish”.

30-BTARN-Installation-Wizard-Installation-Completed

  • The BTARN Configuration Wizard opens. Next, you configure BTARN.

Important:

  • If you perform a custom installation to install only the BTARN HTTP Front End feature, BTARN configuration may fail after setup is complete, displaying the error message “Failed to create object for feature: WebApp”. If this occurs, you need to copy two files (Microsoft.VC80.ATL.manifest and atl80.dll) from a computer with BizTalk Server 2013 R2 installed on it, to the computer where you installed the BTARN HTTP Front End feature.
  • If Visual Studio 2012 is installed on the same computer as BizTalk Server, the source folder for the two files is <drive>:\Program Files\Microsoft Visual Studio 11.0\VC\redist\x86\Microsoft.VC100.ATL. If Visual Studio 2012 is not installed on the BizTalk server, the source folder for the two files on the BizTalk server is a folder under <drive>:\WINDOWS\WinSxS. The version of the files should be 8.0.50727.42. The destination folder on the computer where you have installed the HTTP Front End feature is the BTARN installation directory (by default, <drive>:\Program Files (x86)\Microsoft BizTalk 2013 R2 Accelerator for RosettaNet).
  • After you have copied these files to the computer with the HTTP Front End feature installed, rerun Configuration.exe.

Configure Microsoft BizTalk 2013 R2 Accelerator for RosettaNet

Note: Before configuring BTARN, Make sure that you have installed all the prerequisites and prepared you environment for the RosettaNet accelerator. In specially:

  • Make sure you map .NET Framework 4.0 under Handler Mappings in IIS.
  • Also, when configuring BTARN on Windows 8.1, Windows Server 2012, and Windows Server 2012 R2, you must create the IIS_WPG group manually.

To configure BTARN using Basic Configuration:

  • Press the “Windows key” to switch to the Start screen, type “RosettaNet”, right-click “BizTalk 2013 R2 Accelerator for RosettaNet Configuration” option from the Search menu, and then click Run as Administrator.
  • On the “Microsoft BizTalk 2013 R2 Accelerator for RosettaNet” Wizard page:
    • Select the “Basic configuration” option to configure the server with default settings
      • Or “Custom configuration” to configure the server using advanced configuration options.
    • In the “Database server name” text box under “Database” properties, verify that the server name displayed is correct.
    • In the “Service credential” properties, type the “User name” and “Password” for the account that the configure BTARN will run under.

31-BTARN-Basic-configuration

  • Click “Configure”.
  • If your account has administrative privileges, click “Yes” to proceed with the configuration.

32-BTARN-Basic-configuration-account-has-administrative-privileges-warning

  • On the “Summary” page, review the components you are installing, and then click “Next”.

32-BTARN-Basic-configuration-Summary

  • On the “Configuration Completed” page, click “Finish”.

34-BTARN-Basic-configuration-Configuration-Completed

Note:

  • If you selected Custom configuration in step 1, perform the following steps:
    • To configure the runtime, in the Microsoft BTRAN Configuration dialog box, click “Runtime” in the left pane:
      • In the right “Runtime” pane, click “Enable the Runtime feature on this computer”.
      • To join an existing database group, clear “Do you want to create a new database group”.
      • Select the appropriate Web server name, port number, data stores, Application Pool service account, and BizTalk HTTP Receive virtual folder.
    • To configure the WebApps feature, in the Microsoft BTRAN Configuration dialog box, click “WebApps” in the left pane:
      • In the right “WebApps” pane, click “Enable the Runtime feature on this computer”.
      • Enter the appropriate BizTalk Server name and port number, or select the defaults.
      • Select the appropriate Web application virtual folder.
    • Click Apply Configuration.

Note: BTARN configuration will fail if you use a special character in the name of any of the BTARN databases.

Related links:

How to Install and Configure Microsoft BizTalk 2013 R2 Accelerator for RosettaNet: Additional Configurations of BizTalk 2013 R2 Accelerator for RosettaNet (Part 4)

$
0
0

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:


How to Install and Configure Microsoft BizTalk 2013 R2 Accelerator for RosettaNet: Troubleshooting Your Installation (Part 5)

$
0
0

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:

Microsoft BizTalk 2016 Accelerator for RosettaNet (BTARN) Configuration Wizard: A BizTalk Isolated Host instance configured with the user account was either not running or does not exist on this computer

$
0
0

While trying to document, or better update my RosettaNet installation and configuration guide, I got a very strange (but by now I should know that nothing is strange with BizTalk and RosettaNet) while executing Microsoft BizTalk 2016 Accelerator for RosettaNet Configuration Wizard:

A BizTalk Isolated Host instance configured with the user account ‘DOMAIN\administrator’ was either not running or does not exist on this computer. Use the BizTalk Administration Console to create a new Isolated host or to reconfigure an existing host to run as ‘DOMAIN\administrator.

user account was either not running or does not exist: Microsoft BizTalk 2016 Accelerator for RosettaNet Configuration Wizard fail open

This error occurred just after I try to open the BTARN configuration wizard! (first thing that appears)

I well aware that when you are planning to install and configure Microsoft BizTalk 2016 Accelerator for RosettaNet (BTARN), you need to be very careful with a certain configuration like this one:

  • The BizTalk Host Instance Account and the BizTalk Isolated Host Instance Account should be the same account. Otherwise, BTARN does not function correctly.

Or that:

  • BTARN requires the IIS_WPG group (group provided by IIS 6.0 that provides the minimum set of user rights and permissions required to run an application).
  • BTARN requires both in-process and isolated host to be marked as “Authentication Trusted” (this setting is off by default when you create a new host)

Notice that this last one is just for everything to work well but it doesn’t impact the configuration itself.

And in fact, all my host instances have the same account and all of them was running.

user account was either not running or does not exist: BTARN BizTalk Server host instances

Cause

BTARN installation process it’s quite old fashioned and weird is some points, the true it that Microsoft just invest a little to modernize it, and change some behaviors and requirements which are no longer justified, a good example is the IIS_WPG group requirement, this group doesn’t exist anymore, so you need to create it manually. Otherwise, BTARN installation fails.

In this case, the problem, as you can see in the figure above, is that I have two types of logon formats:

  • The 2 default host instances, created by the BizTalk installation wizard, are defined as “\username” – without the domain or in this case the machine name (this is a standalone environment)
  • And others are set up in the format “DOMAIN\Username”.

Well, regarding BTARN, if you want to avoid problems during the installation/configuration process or future problems in the runtime you should:

  • Never use Full Qualify domain name in the Logon credentials. Otherwise, BTARN does not work correctly.
  • To avoid BTARN problems use the down-level logon name format (DOMAIN\Username).

Solution

To solve this issue the solution was quite simples, I just need to configure the logon to all my host instance in the down-level logon name format (DOMAIN\Username).

user account was either not running or does not exist: BTARN host instances reconfigured

After that, I was able to execute the BTARN configuration wizard without any further issues and especially no more user account was either not running or does not exist on this computer.

The post Microsoft BizTalk 2016 Accelerator for RosettaNet (BTARN) Configuration Wizard: A BizTalk Isolated Host instance configured with the user account was either not running or does not exist on this computer appeared first on SANDRO PEREIRA BIZTALK BLOG.

BizTalk Server 2016: Could not load file or assembly ‘Oracle.DataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342’ or one of its dependencies. The system cannot find the file specified.

$
0
0

It is not the first time, neither will be the last that I encountered similar problems like this one or the same problem with earlier versions, we call it DLL hell (or nightmare) but I think that all BizTalk Administrator are familiar with it and vaccinated for the problem. Some months ago, while trying to communicate with an Oracle database within Visual Studio in a brand-new BizTalk Server 2016 Developer environment to generate the proper Schemas, we faced with the following Oracle.DataAccess problem:

Error saving properties.
(System.ArgumentException) Invalid binding.
(System.IO.FileNotFoundException) Could not load file or assembly ‘Oracle.DataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342’ or one of its dependencies. The system cannot find the file specified.

Could not load file or assembly Oracle.DataAccess Version 4.121.1.0

Cause

When installing the Oracle WCF Adapter for BizTalk Server 2016 there is a design-time requirement to use Oracle.DataAccess Version 4.121.1.0.

BizTalk Server 2016 requires that specific Oracle.DataAccess version, however, us we were able to very on the GAC, the DLL that existed in our environment had a different version.

Trying to find the correct ODP.NET 11.2.0.1.2 version under Oracle website can be a challenge

Note: depending on the BizTalk Server version that you are using, this the required Oracle.DataAccess version may change.

Solution

Trying to find the correct ODP.NET 11.2.0.1.2 version under Oracle website can be a challenge, so one of the easier and fast ways to solve this problem is using Assembly Binding Redirection in the machine configuration file (Machine.config):

  • 32-bit: c:\Windows\Microsoft.NET\Framework\[version]\config\machine.config
  • 64-bit: c:\Windows\Microsoft.NET\Framework64\[version]\config\machine.config

Note: You should apply this in both 32 and 64-bit machine configuration files.

By using the <assemblyBinding> Element for <runtime> that will contain all the information about assembly version redirection and the locations of assemblies.

In this case, you should apply the following configurations:

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="Oracle.DataAccess"
         publicKeyToken="89b483f429c47342" />
      <bindingRedirect oldVersion="4.121.1.0" newVersion="x.xxx.x.x" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>

By doing this when BizTalk Server will look to the Oracle.DataAccess version which not exists in your environment, it will be redirected to the existing DLL version.

For example, in our case we used:

<!--<runtime />-->
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89b483f429c47342" />
        <bindingRedirect oldVersion="4.121.1.0" newVersion="4.121.2.0" />
      </dependentAssembly>
   </assemblyBinding>
</runtime>

Just to be on the safe side, you should add this configuration in both 32 and 64-bit in .NET Framework 2.0 and 4.0 machine configuration files.

The post BizTalk Server 2016: Could not load file or assembly ‘Oracle.DataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342’ or one of its dependencies. The system cannot find the file specified. appeared first on SANDRO PEREIRA BIZTALK BLOG.

BizTalk Server Configuration error: The backup file could not be created. (SSO)

$
0
0

Some clients have restricted rules regarding what to install content in the C (the default) hard drive. For some of them, C drive is just for the operating system and other component related to the operating system. All the rest should be installed or kept in different hard drives.

The goal of this post is not to say if that is the proper and best approach or not is just to document this error and know the reason and what to do. Personally, I usually install BizTalk Server in C (the default) hard drive, that is why I never encounter this error/warning before.

So, during one of my recent installations, where I have the need to install and kept all BizTalk Server installation and configuration components on a non-default (C:), I encounter the following error message while trying to configure the local of the Backup file location of the SSO Master Secret Key:

TITLE: Microsoft BizTalk Server Configuration Wizard
——————————
The backup file could not be created. (SSO)

For help, click: http://go.microsoft.com/fwlink/events.asp?ProdName=Microsoft+BizTalk+Server+2016&ProdVer=3.12.774.0&EvtSrc=SSO&EvtID
——————————
ADDITIONAL INFORMATION:
(0x80070003) The system cannot find the path specified.
(Win32)

For help, click: http://go.microsoft.com/fwlink/events.asp?ProdName=Microsoft+BizTalk+Server+2016&ProdVer=3.12.774.0&EvtSrc=Win32&EvtID
——————————
BUTTONS:
OK
——————————

BizTalk Server Configuration Wizard: The backup file could not be created. (SSO)

Cause

I don’t know if this can be considered an error or actually a bug in the BizTalk Server Configuration Wizard because, for me, the wizard should be responsible for creating the specified path.

By default, the SSO Master Secret Key Backup file location is set as C:\Program Files\Common Files\Enterprise Single Sign-On with the following name structure “SSO****.bak”:

  • where **** is a randomly generated name by the BizTalk Server Configuration Wizard.

The BizTalk Server Configuration Wizard has an option for you to open an annoying Folder Browser Dialog windows that force you to iterate through a Directory Tree (you cannot manually set the path) instead of using a more fancy, elegant and practical dialog box or way to archive the same result, like, suing SaveFileDialog component instead

So, if you try to manually set the path according to your requirement, for me it was just changing the hard drive letter from C: to E: you need to be sure to first manually create the full folder path on the desired destination hard drive, otherwise, you will get this problem.

Solution

Make sure the folder path is created on the desired hard drive, if not create it before you specify the path in the BizTalk Server Configuration Wizard tool.

If you already specify the path in BizTalk Server Configuration Wizard, that is, before you have created the folder:

  • Create folder path on the desired hard drive
  • And refresh the Enterprise SSO Secret backup page

and the backup file could not be created. (SSO) error message will be gone.

The post BizTalk Server Configuration error: The backup file could not be created. (SSO) appeared first on SANDRO PEREIRA BIZTALK BLOG.

Viewing all 32 articles
Browse latest View live