[Fix]BizTalk Rules not working
Hi All,
We had one issue in our environment, where BizTalk rules were not getting fired.
We are able to process same rules in another environment.
After troubleshooting, we found the issue with BizTalk rule engine static support. In our rule, we use .net static class to fetch some information.
For that, we need to create the registry entry. This is must for BizTalk rules that uses .net static classes
https://msdn.microsoft.com/en-us/library/aa950269.aspx
regards,
Chaitanya
What’s new in BizTalk 2016
MSDN Source link:
https://msdn.microsoft.com/en-us/library/mt670742.aspx
| Feature | Description |
| Support for newer platforms | BizTalk Server 2016 adds support for the following Microsoft platforms:
– Visual Studio 2015 |
| SQL Server 2016 AlwaysOn Availability Groups | Support includes:
– Using on-premises and in Microsoft Azure IaaS virtual machines |
| BizTalk Server Azure VMs in production | BizTalk Server Azure virtual machines are now fully supported for production environments. Using SQL Server 2016 AlwaysOn, a highly available solution is now possible. |
| Logic App adapter | Connect to your Logic Apps hosted in Azure, and get access to all the connectors including Salesforce, SharePoint, CRM Online, and more. For example, you can receive an order in BizTalk Server, connect to your Logic App, and update Salesforce. |
| FTP adapter | SYST command is no longer required. When you configure the FTP adapter on a receive location or send port, there is a property called FTP Server Type. Using this property, you choose the FTP server you want; which determines if SYST is required.
As a result of this change, there are more "supported" FTP servers. |
| SFTP adapter | SFTP adapter is re-engineered to use WinSCP to connect to SFTP; which allows support for more SFTP servers. Client-side logging and additional encryption ciphers are also new. |
| Allow import of tracking settings | When importing a binding a file, you can choose to import (or not import) the tracking properties enabled on your orchestrations, send ports, and so on. This is a global setting (set at the Group level) so you can set this feature in your different environments. For example, you can import the existing tracking properties for your Development environments, and don’t import the tracking properties for your Production environments. |
| Shared Access Signature (SAS) | You can use SAS authentication for the Service Bus connection with the BasicHttpRelay, NetTcpRelay, BasicHttp, and WebHttpadapters.
WCF-BasicHttpRelay adapter SB-Messaging adapter now includes the steps to get Access Control (ACS) values using PowerShell. |
| Ordered delivery on dynamic ports | – Includes the adapters that support ordered delivery on static send ports – You can enable the ordered delivery option in the BizTalk Administration console |
| SHA-2 hash functions | SHA-2 is fully supported, including:
|
| Compile your maps | Choose to compile your maps using XslTransform or XslCompiledTransform |
| Schema window | In the BizTalk mapper, the Schema dialog window is now resizable |
| Office web components (OWC) | Office web components (OWC) is now an optional installation component. |
| Adapters and Accelerators | Improvements and changes include:
– SAP adapter now uses SAP Connector for .NET (NCo), while still supporting the classic RFC SDK. WCF-SAP adapter support for the SAP .NET Connector provides more details. |
| Import/export parties | Changes include:
– The import and export option is separated from the Application. For example, you can export a party without exporting the application. You can import a party without importing the application. |
| BizTalk Administration | In addition to a more modern look and feel, some additional changes include:
– Configure the settings for multiple hosts/host instances simultaneously. For example, you can set the .NET CLR settings for multiple host instances simultaneously. |
Deprecated & Removed List
| Program | Status | Replacement |
| RFID Mobile | Removed | None |
| RFID Server | Removed | None |
| SharePoint SSOM/Web Service adapter | Removed | Use the CSOM (Client Side Object Model) option. |
| SOAP adapter | Deprecated | WCF-BasicHttp Adapter |
| Old SQL adapter | Deprecated | WCF-based SQL adapter in the BizTalk Adapter Pack |
| UDDI | Removed | None |
Regards,
Chaitanya
BizTalk Server 2013 CU3 is now available
Hi All,
Please check for download instructions of CU3 for- BizTalk Server 2013 and Adapter pack updates in below links.
BizTalk Server 2013 CU3:
http://support.microsoft.com/kb/3088676
BizTalk Adapter Pack 2013 CU2:
http://support.microsoft.com/kb/3100564
Regards,
Chaitanya
How to access BizTalk Application Resources via BiztalkMgmtDB
There are 2 types of assemblies in BizTalk Applications
1. .Net Assemblies will be having the type System.BizTalk:Assembly
2. BizTalk Assemblies will be having the type ‘System.BizTalk:BizTalkAssembly’
Below is the query to access the biztalk resources programmatically in sql server, so that you can compare the assemblies across groups.
You cannot find out .net assembliies of type System.BizTalk:Assembly in bts_assembly table. This is the only place you could find this information
SELECT [luid] ‘AssemblyInfo’
FROM [BizTalkMgmtDb].[dbo].[adpl_sat] sat
WHERE sat.sdmtype IN ( ‘System.BizTalk:Assembly’,
‘System.BizTalk:BizTalkAssembly’ )
Please let me know if you have any questions.
Regards,
Chaitanya
PowerShell Script to raise Custom Event ID in case if Orchestration is suspended in BizTalk Server
Hi All,
Below is the power shell script for generating the event ID in the event viewer in case if any BizTalk orchestration is in suspended mode.
As of now, this script only useful for one orchestration checking at a time, in future I will modify and update the PowerShell script for publishing the events for multiple orchestrations at a time.
Copy the below script and save it in note pad with .PS1 extension and schedule a task job if you want to run on daily basis.
Below is the website link on how to Use the Windows Task Scheduler to Run a Windows PowerShell Script
For below script to be successful, you must create a linked server between BiztalkMgmtDB and biztalkmsgboxdb if both databases are residing in different servers.
I am writing different power shell script to make use of WMI instead of using Linked servers and I will update the blog in future posts.
$sqlText = “—————————-Start of Script————————————————————————–
SET NOCOUNT ON
SET TRANSACTION ISOLATION LEVEL READ COMMITTED
SET DEADLOCK_PRIORITY LOW
declare @ErrorOrchCount int,@ErrorMsg varchar(100)
SELECT
@ErrorOrchCount= Count(o.nvcName)
FROM [BizTalkMsgboxDb]..[Instances] AS i WITH (NOLOCK)
JOIN [BizTalkMgmtDb]..[bts_Orchestration] AS o WITH (NOLOCK) ON i.uidServiceID = o.uidGUID
WHERE o.nvcName =’OrchestrationName’ # Give the Orchestration Name
and i.nState not in (2,8)
GROUP BY o.nvcName, i.nState
if (@ErrorOrchCount >0)
begin
set @ErrorMsg=’Orchestration is in Suspended Mode’
end
else
Begin
set @ErrorMsg=Null;
END
”
#Provide the SQL Server Name on which sql statements needs to be executed
$serverName= “servername”
$QueryTimeout = 120
$ConnectionTimeout = 30
#Action of connecting to the Database and executing the query and returning results if there were any.
$conn=New-Object System.Data.SqlClient.SQLConnection
$ConnectionString = “Server={0};Database={1};Integrated Security=True;Connect Timeout={2}” -f $ServerName,$DatabaseName,$ConnectionTimeout
$conn.ConnectionString=$ConnectionString
$conn.Open()
$cmd=New-Object system.Data.SqlClient.SqlCommand($sqlText,$conn)
$cmd.CommandTimeout=$QueryTimeout
$reader = $cmd.ExecuteReader()
while ($reader.Read()) {
$OrchStatus =$Reader.GetValue($1)
}
if ($OrchStatus)
{
Write-EventLog –LogName Application –Source “OrchestrationException” –EntryType Error –EventID 5012 #event id that you want to raise for SCOM to recognize
–Message “ Orchestration is in Suspended Mode.”
}
Please let me know if you have any questions.
Regards,
Chaitanya
BizTalk 2013 r2 CU1 update
Hi All,
BizTalk 2013 r2 CU1 update is available. Please install in your DIT , SIT environments and check if it is breaking any code and do the regression testing.
https://support.microsoft.com/en-us/kb/3055198
below are fixes that were covered.
BizTalk Server management tools and business tools
BizTalk Server B2B support
BizTalk Server Accelerators
BizTalk Server Adapters
BizTalk Server Design Tools
BizTalk Server Message Runtime, Pipelines, and Tracking
Regards,
Chaitanya
Query to get BizTalk Role Link Details
Hi All,
You can get the Role link details using Sql Query instead of going to admin console. Go to BiztalkMgmtDB Database and run the below query. it’s simple and easy
USE BizTalkMgmtDb
SELECT
app.nvcName,
role.nvcname [RoleLink],
party.nvcname [PartyName],
assembly.nvcfullname [Assembly],
sendport.nvcname [SendPort]
FROM bts_sendport sendport
INNER JOIN bts_party_sendport partysendport ON partysendport.nsendportid = sendport.nid
INNER JOIN bts_enlistedparty_operation_mapping operationmapping ON operationmapping.npartysendportid = partysendport.nid
INNER JOIN bts_enlistedparty_port_mapping portmapping ON portmapping.nid = operationmapping.nportmappingid
INNER JOIN bts_enlistedparty enlistedparty ON portmapping.nenlistedpartyid = enlistedparty.nid
INNER JOIN bts_party party ON enlistedparty.npartyid = party.nid
INNER JOIN bts_role role ON role.nid = enlistedparty.nroleid
INNER JOIN bts_rolelink_type rolelinktype ON rolelinktype.nid = role.nrolelinktypeid
INNER JOIN bts_assembly assembly ON assembly.nid = rolelinktype.nassemblyid
INNER JOIN bts_application app on app.nID=assembly.nApplicationID
Regards,
Chaitanya
Internal Server 500 Error when accessing the BizTalk Service( ./Btshttpreceive.dll)
If you are getting internal server error when you partner is connecting to your receive location ending with BSHTTPReceive.dll.
Check your host that was used for this receive location, if that host is of 32 bit, enable the App Pool for that receive location service to 32 bit mode.
If that host is of 64 bit mode, enable the App Pool to run in 64 bit mode.
Regards,
Visit site: http://www.sqlblogging.com
Send an Email: sqlblogging
Host Instances in Hung State and not able to Restart
Hi All,
Today we faced the issues with the Host instances as these are in hung state, all the messages are piled up and are unable to process.
If host instances are in hung mode, first try to restart the host instances, if it is not happening, check the msgbox blockings.
If blockings are there, check who is causing those blockings?
Sp_who2 active for checking the blockings in BizTalkMsgBoxDb
We have issue like Sql agent job is failing at our end
MessageBox_Parts_Cleanup_BizTalkMsgBoxDb Job is failing at our end which needs to run at every one minute.
select count(*) from BizTalkMsgBoxDb..Spool (nolock)
that’s why we have huge number of messages piled up in the above table Of message box
Issue is above job is holding the lock on the message box tables and host instances are requesting the lock on those same tables and it is causing the blocking.
We have killed the blocking and job became successful and issue got fixed.
Regards,
Visit site: http://www.sqlblogging.com
Send an Email: sqlblogging
Retrieving the COM class factory for component with CLSID {254B4003-2AA7-4C82-BB2E-18BA7F22DCD2} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
When we are trying to process the 997 Message over As2 Protocol to the one of partner, we got the below issue.
Retrieving the COM class factory for component with CLSID {254B4003-2AA7-4C82-BB2E-18BA7F22DCD2} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
After troubleshooting , we got to know the root cause.
We are sending the AS2 Message in a send port that was running under the 64 Bit host instance.
Reason : AS2 can only work on 32 bit host. It’s one of the known issues in BizTalk due to its ExplorerOM Dependencies
Resolution:
Delete the host instances of that host and change the host setting to 32 bit mode and then recreate the new host instances.
Regards,
Visit site: http://www.sqlblogging.com
Send an Email: sqlblogging