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.

BT360-Prerequisites

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 http://www.advancedinstaller.com/user-guide/qa-log.html) 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.

EventVwr

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 [mpm01.uat.vvm.addelijn.be]

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.

Cnext is looking for a BizTalk Developer

Responsibilities:


  • Participate in the analysis, design, development, deployment and transition to operations of the BTS soltutions we develop for our clients

  • Translate the functional requirements of our customers into technical solutions that really work

  • Serve as gatekeeper between service delivery and service operations (support change management, approve for operations, release and config mgt)

  • Optimize operational procedures (checklists, performance tuning, optimization, problem mgt)

  • Database Management (monitoring, tuning, maintenance)

  • Coordinate operational activities (Remote Operations and Development Center, Cnext Consultants)

  • Knowledge Mgt (known errors, handover to operations, checklists and scenarios)

  • Provide specialist support to Remote Operations Center & customer queries

Skills:


  • Strong focus on business outcomes

  • Versatile communication skills: talk with our customers in a language they understand

  • Excellent teamplayer

  • Project Management

  • Agile-minded

Profile:


  • At least 1 years’ experience with BizTalk. Good knowledge of .Net, SQL Server, WCF, SOA, ESB , EAI, EDI, Azure, XML, XSL(T). Certification is a plus.

  • Constant learner (certification is required)

  • Willing to go the extra mile

What we offer:


  • A dynamic, enjoyable and challenging work environment with room for development

  • Competitive salary package

  • We try to match people and jobs as best as possible so you can find the job you can thrive in.

  • We support you in every way we can so you can deliver outstanding services to our customers.

If you’re interested, please contact us on info@cnext.eu!

Cnext is looking for a BTS Operations Hero

Responsibilities:


  • Administer the BTS environment at our Managed Services Customers (includes platform modifications, monitoring, deployment, updates)

  • Serve as gatekeeper between service delivery and service operations (support change management, approve for operations, release and config mgt)

  • Optimize operational procedures (checklists, performance tuning, optimization, problem mgt)

  • Database Management (monitoring, tuning, maintenance)

  • Coordinate operational activities (Remote Operations and Development Center, Cnext Consultants)

  • Knowledge Mgt (known errors, handover to operations, checklists and scenarios)

  • Provide specialist support to Remote Operations Center & customer queries

Skills:


  • Passion for operational excellence

  • Excellent teamplayer

  • Strong communication skills

  • Methodical and well-organised

  • ITIL-minded

Profile:


  • At least 3 years’ experience as a system administrator in an enterprise environment

  • Broad knowledge of IT, experience with BizTalk is definitely a plus

  • Willing to go the extra mile

If you’re interested, please contact us on info@cnext.eu!

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
      a.[Event/Direction],
      a.[Event/Port],
      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
WHERE
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 http://fiddler2.com/.

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: 127.0.0.1
  • Port: 8888

ProxySettingsInBTS

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.
Fiddler

BizTalk 2010 Tracking issue: No tracking on ports

We’ve found a problem with the tracking on all of our ports in BizTalk. As well as the receive and send ports didn’t track any messages, although all proper tracking options were set according to the BizTalk admin console. However, when we did a binding export it only showed PipelineEvents as TrackingOption, so ServiceStartEnd and MessageSendReceive were missing.

When configuring all tracking options on the used pipelines, all was working correctly. So only the tracking options set on the ports itself seemed to be ignored.

The problem appeared to originate in the table StaticTrackingInfo of the BizTalkMgmtDB, where a value of 0×10000000 was present for some of the biztalk pipelines instead of 0×13000000. So to set these records straight, I used this T-SQL command:

begin transaction

update BizTalkMgmtDb.dbo.StaticTrackingInfo set imgData = 0×13000000 where strServiceName in(
 
‘Microsoft.BizTalk.DefaultPipelines.XMLTransmit’
,
‘Microsoft.BizTalk.DefaultPipelines.XMLReceive’,
 
‘Microsoft.BizTalk.DefaultPipelines.PassThruTransmit’,
 
‘Microsoft.BizTalk.DefaultPipelines.PassThruReceive’)

–commit

The problem was rather quickly located thanks to this blog.