BizTalk360 releases version 7.9

BizTalk360 has released the brand new version 7.9 with some very promising new features.

The new release brings some new features for making your life as a BizTalk administrator even easier. You can find this new version on their download page, just hit the link for downloading the latest msi setup or request for your free trial.

The biggest new features are

  • Data Monitoring
  • Export-Import Monitoring Configuration
  • EDI Parties and Agreements access
  • ESB edit/resubmit, bulk resubmit messages

A more in depth information of these features can be found on These new features, together with some minor changes and bug fixes, makes BizTalk360 very useful for your BizTalk environment. It is definitely worth upgrading your current setup or adding BizTalk360 for your daily maintenance and monitoring of the BizTalk environment.

I myself am very excited about the new data monitoring enhancements. With this you can easily automate some simple daily tasks. Besides the already released process monitor, it is also possible to monitor your messagebox, tracking data, BAM, EDI and ESB with the latest release. The most impressive is that now you can even configure some simple execution tasks (resume, suspend or terminate) for the message queries defined on your messagebox. A great way to automate your routine tasks like regularly terminating instances, resuming instances, etc.
The ability to export and import the monitoring configuration facilitates keeping the configuration the same for all environments. Another interesting thing this brings along is that now you can define your own basic set of monitorings to use for speeding up and facilitating the first time setup over multiple environments.

For any questions or guidance with installing or configuring this new version, you can always contact Cnext for support.

BizTalk360 version 7.8 released

BizTalk360 just released their latest version 7.8 with interesting new features.

With this new release comes some very interesting new features that make it even easier to actively monitor and maintain your BizTalk environment healthy. Be sure to check out this latest release and download the setup or request for a free trial version.

Some of the key features in this release includes:

  • Brand new Advanced Process/Transaction Monitoring, with it’s own dashboard.

  • EDI Reports, we now matched all the EDI reports available in BizTalk admin console.

  • Concept of User profile, especially for choosing your preferred time zone and date/time format.

  • Concept of System profile, which allows you to disable features you are not using for example BAM, BRE, EDI etc.

  • And all the usual stuff like Usability improvements, Performance improvements, bug fixes etc.

More information on a couple of these features can be found on earlier blog posts:
BizTalk360 version 7.8 released – Advanced Process Monitoring
BizTalk360 version 7.8 released – EDI reporting, System Profile and User Profile

Don’t hesitate to contact Cnext for any questions or help implementing this new version. As an official BizTalk360 partner and having 2 Product specialist, Cnext would be glad to help you out.

TransactionException op WCF two-way send port

On a 2-way WCF send port, I was getting an error for some of the calls it was requesting to the webservice. It turned out that the exception only occured for very large response files that had to be responded from the webservice.

To get the response file correctly, I already had to increase the TimeOut settings on the send port for the binding of the WCF-Custom adapter. But still I got an error with following message:

Message: SP_Dummy_WCF – System.Transactions.TransactionException: The operation is not valid for the state of the transaction.

at System.Transactions.TransactionState.EnlistVolatile(InternalTransaction tx, IEnlistmentNotification enlistmentNotification, EnlistmentOptions enlistmentOptions, Transaction atomicTransaction)

at System.Transactions.Transaction.EnlistVolatile(IEnlistmentNotification enlistmentNotification, EnlistmentOptions enlistmentOptions)

at Microsoft.BizTalk.Adapter.Wcf.Runtime.TxnBatch2..ctor(IBTTransportProxy transportProxy, ControlledTermination control, Transaction transaction, ManualResetEvent orderedEvent, Boolean makeSuccessCall)

at Microsoft.BizTalk.Adapter.Wcf.Runtime.BizTalkDeleteTxn.Execute(BizTalkExecutionContext executionContext)

So to rule out any timeouts coming from the adapter itself, I configured all the WCF TimeOuts to 1 hour.


Unfortunately, this didn’t help out a thing. So I kept looking for a correct solution.

Solution 1:

After some digging around, I found out the transaction max time out had to be increased. If this setting is not specified, it defaults to 10 minutes, and it cannot be overridden in code even. I ended up configuring this maximum transaction time out in the machine.config files of the server. Just add following in the machine.config file and restart all host instances to solve the issue:

<machineSettings maxTimeout=”00:59:00″ />

Note that this change will affect all transactions on this server.

Solution 2:

A second solution to this problem might be even more interesting, because the transaction setting will only be applied to this specific port. All credits go to Coen Dijkgraaf, check out his blog post here.

You can make sure that the port doesn’t use any transactions, by disabling it on the adapter configurations on the port.
Just open the port properties and click on the Configure button to change the WCF adapter settings. Open the Messages tab, and under Transactions you’ll see a checkbox to enable/disable transactions for this port.

Uncheck the checkbox to disable the use of transactions, and this would enough to solve the issue.


Some info on this setting can be found at

BizTalk360 installation failed: “error status: 1603”

Recently we got a client who was unable to complete the installation of BizTalk360. Although all checks indicated  the prerequisites were met, there was an issue on completing the installation wizard for some reason.


In the first step they filled all info for creating the IIS virtual directory and application pool. But for some reason, when going to the next step it failed and stopped the installation process. So they couldn’t get past the first step of the installation.
Running the installation from a command prompt, and making sure an installation log got created (for details on how to create an installation log, have a look at reveiled a problem ‘ValidateAppPoolUserCredential failed’.


Action 12:41:54: UpdatePropsWithSelectedWebSite.
Action start 12:41:54: UpdatePropsWithSelectedWebSite.
MSI (c) (84:24) [12:41:54:623]: Invoking remote custom action. DLL: C:\Users\[UserName]\AppData\Local\Temp\2\MSI64AE.tmp, Entrypoint: UpdatePropsWithSelectedWebSite
MSI (c) (84!98) [12:41:54:810]: PROPERTY CHANGE: Adding WEBSITE_DESCRIPTION property. Its value is ‘Default Web Site’.
MSI (c) (84!98) [12:41:54:810]: PROPERTY CHANGE: Adding WEBSITE_PORT property. Its value is ’80’.

MSI (c) (84!98) [12:41:54:810]: PROPERTY CHANGE: Adding WEBSITE_IP property. Its value is ‘*’.
Action ended 12:41:54: UpdatePropsWithSelectedWebSite. Return value 1.
MSI (c) (84:04) [12:41:54:841]: Doing action: ValidateAppPoolUserCredential
Action 12:41:54: ValidateAppPoolUserCredential.
Action start 12:41:54: ValidateAppPoolUserCredential.
MSI (c) (84:64) [12:41:54:841]: Invoking remote custom action. DLL: C:\Users\[UserName]\AppData\Local\Temp\2\MSI658A.tmp, Entrypoint: ValidateAppPoolUserCredential
Action ended 12:41:55: ValidateAppPoolUserCredential. Return value 3.
DEBUG: Error 2896: Executing action ValidateAppPoolUserCredential failed.
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2896. The arguments are: ValidateAppPoolUserCredential, ,
Action ended 12:41:55: WelcomeDlg. Return value 3.
MSI (c) (84:E4) [12:41:55:075]: Doing action: FatalError
Action 12:41:55: FatalError.
Action start 12:41:55: FatalError.
Action 12:41:55: FatalError. Dialog created
Action ended 12:41:59: FatalError. Return value 2.


While in the event viewer I found a record with following details:

Product: BizTalk360 — Installation failed.
Windows Installer installed the product. Product Name: BizTalk360. Product Version: 7.1.555.0. Product Language: 1033. Manufacturer: Kovai Ltd. Installation success or error status: 1603.

None of the error messages gave me an idea on what the actual problem would be.
Further investigation has showed me that there were still some role services and features missing… So I enabled following windows role service and features:

  • role services for Web server: IIS 6 compatibility
  • Feature: .NET framework 3.5.1

And that seemed to do the trick. I was able to get past the IIS virtual directory settings of the installation wizard and succesfully installed BizTalk360.

BizTalk SFTP adapter: “Unable write file”

Since recently my SFTP send port for some reason couldn’t write any files to the configured SFTP folder anymore. The error information displayed on the suspended instances was:

An unexpected failure occurred while processing a message. The text associated with the exception is “[SftpTransmitterEndpoint] Unable to transmit file sftpfolder/51D8D887-DB21-4675-8EA2-927B86F84CF3.
Inner Exception:
Unable write file to sftpfolder/51D8D887-DB21-4675-8EA2-927B86F84CF3
Unable to connect to Sftp host [sftpHost]. Changing any Send Port Transport properties might require the host to be restarted, as the connection pool might still have connections”.

In the event viewer there were a bunch of error events logged coming from the SFTP adapter.


The events stated some different error messages like:

Method: Blogical.Shared.Adapters.Sftp.SharpSsh.Sftp.CheckHostKey
Error: HostKey does not match previously retrieved HostKey.

Method: Blogical.Shared.Adapters.Sftp.SharpSsh.Sftp.connect
Error: Unable to connect to Sftp host []

Method: Blogical.Shared.Adapters.Sftp.SharpSsh.Sftp.Put
Error: Unable write file to sftpfolder/62EFCE4A-8BFE-428B-B4E4-4B43A9B35075

Method: Blogical.Shared.Adapters.Sftp.SftpTransmitterEndpoint.ProcessMessage
Error: [SftpTransmitterEndpoint] Unable to transmit file sftpfolder/62EFCE4A-8BFE-428B-B4E4-4B43A9B35075.
Inner Exception:
Unable write file to sftfolder/62EFCE4A-8BFE-428B-B4E4-4B43A9B35075
Unable to connect to Sftp host [sftpHost]. Changing any Send Port Transport properties might require the host to be restarted, as the connection pool might still have connections

A message sent to adapter “SFTP” on send port “SP_Employee.Messaging_Whitelist” with URI “SFTP://sftpHost:22/sftpfolder/%SourceFileName%” is suspended.
Error details: An unexpected failure occurred while processing a message. The text associated with the exception is “[SftpTransmitterEndpoint] Unable to transmit file sftpfolder/62EFCE4A-8BFE-428B-B4E4-4B43A9B35075.
Inner Exception:
Unable write file to sftpfolder/62EFCE4A-8BFE-428B-B4E4-4B43A9B35075
Unable to connect to Sftp host [sftpHost]. Changing any Send Port Transport properties might require the host to be restarted, as the connection pool might still have connections”.
MessageId: {E5D8FDDE-7246-484C-82B2-335B171BB8F0}
InstanceID: {D3E33013-9250-4750-9B4B-68926601D7FD}

How to solve the issue?

It was the info ‘HostKey does not match previously retrieved HostKey’ that got me thinking. And finally also provided me with the solution.
To overcome this issue, I located the hostkey that was saved and simply removed the hostkey.

Follow these steps to solve this issue

  1. locate the SftpHostFiles.config file. It can be found under something like ‘C:\Users\[BTSUser]\AppData\Local\IsolatedStorage\abwnobui.3i0\ipehwsgb.i2y\Url.hxlzol3fqigkmb3hbeb4siqcmd5vjau2\AssemFiles’
  2. Edit the config file and remove the node containing the  SFTP Host that you are trying to connect to, and save the config file.
  3. Restart the host instance

This should suffice to have a working solution again.

Hope this will help you out.

SQL query: hourly processed messages for BizTalk ports

One of my clients wanted to know how many messages were processed on a certain BizTalk port.
To show some statistics, I created a SQL query that lists a message count of the messages processed per hour for a certain Port. The SQL query will run against the BizTalk tracking database BizTalkDTAdb.

Here’s the SQL query I used:

use BizTalkDTAdb

SELECT top 200
      CONVERT( VARCHAR(10), a.[Event/Timestamp], 111) as [date],
DATEPART(HOUR,a.[Event/Timestamp]) as [Hour],
COUNT(*) as [Count]
FROM [dbo].[dtav_MessageFacts] a
inner join dbo.btsv_Tracking_Parts b on a.[MessageInstance/InstanceID] = b.uidMessageID
a.[Event/Port] =‘RP_SAM.Messaging_SamData_MPM’
AND a.[Event/Direction] =‘Receive’
AND a.[Event/Timestamp] >DATEADD(day,3,GETDATE())
GROUP BY  a.[Event/Port], CONVERT(VARCHAR(10), a.[Event/Timestamp], 111), DATEPART(HOUR,a.[Event/Timestamp]), a.[Event/Direction]
ORDER BY CONVERT(VARCHAR(10), a.[Event/Timestamp], 111), DATEPART(HOUR,a.[Event/Timestamp])

Using Fiddler for viewing exchanged messages with BizTalk

I was trying to view the SOAP messages and headers that were actually exchanged with a certain webservice.
To do so, I used Fiddler2… available from

Fiddler2 will allow you to monitor traffic when using HTTP, SOAP or WCF ports in BizTalk. However, Fiddler will not trace any messages sent to endpoints by BizTalk by default as it does not use WinInet. To overcome this issue, you’ll need to configure a proxy to allow Fiddler to intercept the messages.
Note that these proxy settings will need to be removed when Fiddler is not running. Because otherwise all traffic through this proxy will not be received by anything.

In the send port of BizTalk go to the Configuration settings. Open the tab ‘Proxy’ to configure the necessary settings. Now you should change following settings:

  • Server:
  • Port: 8888


That’s is all you need to do. Now open fiddler2 and process a message.
If all is configured correctly, you should see the exchanged messages coming through fiddler.