Improved SSO Configuration Data Store Tool

Richard Seroter published useful utility to store/retrieve configuration settings in Enterprise SSO database. I added some more functionality to it.

First, I added Export/Import functions allowing to actually save values in the external XML file (Richard’s implementation allowed storing only field names, calling for extra work should you delete and restore SSO aplication). I kept file format the same so the usage scenarios are:

Saving configuration: 1.1 Create application; 1.2 Save to XML; 1.3 Manage application – Retrieve settings; 1.4 Export to XML file created in (1.2).

Restoring previously saved configuration: 2.1 Create application; 2.2 Manage application – Import configuration from file created in (1.4) ; 2.3 Save Changes.

Accordingly, menu items Import/Export available when the Manage Application tab is selected only.

The second part of improvement is where I failed. I added “Select Application” button on the Manage Application tab to browse for available applications in SSO database. Currently, it won’t find any ConfigStore application it will come back with “No Applications Found” message. I left this button on intentionally hoping that some would help me to solve this problem. It appears that neither ISSOMapper nor ISSOMapper2 return list of ConfigStore type SSO application. This API call will return application of types Individual, Group or Host Group but not ConfigStore which is the one we create using this tool. At least with the SSOFlag combination being set (0x140006). I tried different flag combinations but could not make it work. So please let me know.

The code can be downloaded here.

Improved SSO Configuration Data Store Tool

Richard Seroter published useful utility to store/retrieve configuration settings in Enterprise SSO database. I added some more functionality to it.

First, I added Export/Import functions allowing to actually save values in the external XML file (Richard’s implementation allowed storing only field names, calling for extra work should you delete and restore SSO aplication). I kept file format the same so the usage scenarios are:

Saving configuration: 1.1 Create application; 1.2 Save to XML; 1.3 Manage application – Retrieve settings; 1.4 Export to XML file created in (1.2).

Restoring previously saved configuration: 2.1 Create application; 2.2 Manage application – Import configuration from file created in (1.4) ; 2.3 Save Changes.

Accordingly, menu items Import/Export available when the Manage Application tab is selected only.

The second part of improvement is where I failed. I added “Select Application” button on the Manage Application tab to browse for available applications in SSO database. Currently, it won’t find any ConfigStore application it will come back with “No Applications Found” message. I left this button on intentionally hoping that some would help me to solve this problem. It appears that neither ISSOMapper nor ISSOMapper2 return list of ConfigStore type SSO application. This API call will return application of types Individual, Group or Host Group but not ConfigStore which is the one we create using this tool. At least with the SSOFlag combination being set (0x140006). I tried different flag combinations but could not make it work. So please let me know.

The code can be downloaded here.

Service Name Not Available and Commerce Server Import Directory BizTalk Issues

Recently I have gotten a rare chance to step away from writing word documents and working with Visio to get to do some exciting BizTalk testing.

As part of my testing, I was pushing BizTalk and various Adapters until they failed.  In doing so, sometimes this caused some odd side effects.

Recently, I was seeing thousands of Active Service Instances in BizTalk Administration that looked like this:

The Service Name was simply “Name is not available”.  To make matters worse, I was not able to terminate the instances.  I tried stopping and restarting the hosts, restarting the applications, restarting the Server, but nothing seemed to work. 

Out of pure luck, I decided to check the SQL Agent Jobs… and sure enough the SQL Agent was not running.  During all my performance testing none of the Message Box clean-up jobs ran and that left BizTalk in an undesirable state.  I started the SQL Agent, gave the jobs a few minutes to run, and then was able to clean out the Active service instances.

So the moral of the story, if you see odd BizTalk behavior make sure you check your SQL Agent to ensure it is running and the jobs are completing successfully.

Another minor item I ran into deals with the Commerce Server Catalog Adapter.  It has a property called “Import Directory”.  The Adapter uses this as a temporary file store when submitting messages.  This means the BizTalk Host will need read /write access to this location.  This is something that can be easily forgotten… like I did. 

So what happens if you forget to update this property or to give the folder the correct permissions?

Bad Things.  And in BizTalk world, bad things translates into 4 Error Messages per input message in the event log.

 

Why we get so many errors – I do not know.  If I remember correctly, none of them were very useful in correcting the problem.

My Double Life!

As most of you know, during the day I’m a mild-mannered .NET developer using all things Microsoft. But I lead a double life!

Before my (still undiagnosed) illness came upon me suddenly last year, most of my free time was spent with my family or playing golf at some of the country's best daily-fee courses here in Houston. I really enjoyed the fresh air, exercise and competitive nature of the sport. Unfortunately, my current condition makes playing golf almost impossible and much too risky. This situation has left me with much more free time than I'm normally used to having and after several months of rest and recuperation, I've decided to do some "after-hours" consulting.

Now in the evenings and on the weekends I do freelance development work using mostly “other technologies” such as Javascript, Ajax, PHP and mySQL on OS X Leopard. I also do some freelance photography in my local area and occasionally work on native and web iPhone applications. Since this part-time activity has begun to generate income, I've also started a new part-time company called Jeff Lynch Development, Ltd. and launched a new blog at http://blog.jefflynchdev.com (wordpress.com) to post about Mac & iPhone development, my new business and life in general.

I still plan to post regularly on this blog about all things Microsoft, so don't fret! But if you're like many of us and have a foot on both sides of the Microsoft and Apple fence, please join me at http://blog.jefflynchdev.com and have a good read! I'll also let you know when my new web site is up and running!

Currently reading: Inside Steve's Brain by Leander Kahney