2008年12月18日

[BizTalk]Fail to retrieve master secrets when accessing BizTalk port configuration

I got [Fail to retrieve master secrets] error message while trying to disable a receive port via BTS Administration console.

This error indicates that the SSO service shomhow could not retrieve the account information from SSO database, generally speaking, this should not cause by incorrect user identity you are using to access database since if that's the case, error message should state that SSO could not connect to SQL server.

In my case, I duplicate a new BTS VM and try to make it work in an AD environment and forgot to create a new SID for the duplicated machine.

To solve this issue,

  • open command prompt, change directory to %\Program Files%\Common Files\Enterprise Single Sign-on
  • execute the following command
    • ssoconfig -restoresecret <SecretKeyFileName>

2008年12月12日

[BizTalk]Clustering Host Instance and Calling Child Orchestration

I encounter a strange issue when calling child orchestration with parent orchestration's host instance is a clustered instance.

I have an orchestration calling a child orchestration, the child itself does only a simple web service invoke. The parent orchestration correlate a pack of messages via promoted property. This works fine in my development environment which is a stand alone BTS server.

Moving to production server which we clustered host instances for orchestration. When tries to pick up all messages in a package, I found that the call to child orchestration seems to be missed when receive the following messages after the first one
After serval tries, I realized that this occurs due to the child orchestration and its send/receive ports are not running under the same host instance the parent is running. So I change all orchestrations and their send/receive ports to same host instance the parent uses and the issue gone.

This is really strange since I thought BizTalk picks up messages from MsgBox, and hence BTS runtime should know which host the parent is running, it should be able to dispatch the message to same host the parent is running.

About Me