BTDF / DeploymentFramework

The Deployment Framework for BizTalk is the most powerful and customizable, yet easy-to-use toolkit for deploying and configuring your BizTalk solutions.
MIT License
53 stars 24 forks source link

System.ArgumentException: Requested SSO value xxxConfiguration is not available within affiliate app xxx Parameter name: valueName #293

Closed tfabraham closed 6 years ago

tfabraham commented 6 years ago

Hi

we have been using BTDF for more than an year. Recently there were two instances where you had received the following error

System.ArgumentException: Requested SSO value XXXConfiguration is not available within affiliate app XXX Parameter name: valueName

In last 2 weeks it happened twice and in both the instances immediate messages didn't had this problem.

I hope you had seen this issue before. Can you please provide some insight into this error and what could be the reason.

Thanks

This work item was migrated from CodePlex

CodePlex work item ID: '10279' Vote count: '1'

tfabraham commented 6 years ago

[tfabraham@8/14/2013] The SSO reader code has barely changed for years because it just works. I have never heard of any bugs related to the SSOSettingsFileReader similar to what you describe. It does cache the settings in memory within the BizTalk AppDomain for about 60 seconds, so if you deploy an application that expects to find value XYZ and the host instance has not been restarted to reset the AppDomain, and the cache has not yet expired, then the app is out of sync with the cached settings. Are you ever adding a setting and not restarting the host instance(s) when this happens?

tfabraham commented 6 years ago

[har123456@8/15/2013] Thanks for replying @tfabraham

We didn't add any new config settings in recent times and this integration wasn't touched.

As mentioned before it was just in two instances with two different applications we have seen this error,Both the time it has come from the same server,this app is deployed in 4 other servers

tfabraham commented 6 years ago

[tfabraham@8/16/2013] Are you using the SSOSettingsFileReader with no namespace (vs. SSOSettingsFileManager.SSOSettingsFileReader)? Do you ever use ClearCache()? What methods do you call on SSOSettingsFileReader?

The first thing the read methods do is lock {} the Hashtable, so it seems improbable that it could be a threading issue. What version of BizTalk and Deployment Framework?

tfabraham commented 6 years ago

[har123456@8/18/2013] Here is the program logic that is being used for reading SSOSettings

XmlSerializer xs = new XmlSerializer(typeof(xxxConfig)); SSOSettingsFileReader.ClearCache("xxx"); StringReader sr = new StringReader(SSOSettingsFileReader.ReadString("xxx", "xxxConfiguration")); return (xxxConfig)xs.Deserialize(sr);

Biztalk version is 2010. BTDF framework v 5.0

tfabraham commented 6 years ago

[tfabraham@8/18/2013] I've reviewed the code in detail on several different days now, and I can't see anything to blame. You can take a look at the code: Tools\SSOSettingsFileImport\SSOSettingsFileImport\SSOHelper.cs.

When ReadString() calls Read() it has to be getting back a valid hashtable (string val = (string)ht[valueName];) otherwise the ht[valueName] would cause a null reference exception. That means that the hashtable really doesn't include the desired setting. Within Read(), the XmlSerializer is used to deserialize the string returned from SSO, so if that string was invalid the Deserialize() would throw an exception.

I'm just not seeing anything...

tfabraham commented 6 years ago

[har123456@8/19/2013] Thanks for taking a dig at this..I will see what I can do with this error message

tfabraham commented 6 years ago

[UnknownUser@2/6/2014]

tfabraham commented 6 years ago

Issue closed by tfabraham with comment Cannot reproduce this issue and so far this is the only report of it. Please feel free to reopen if more information is discovered.

Reason closed Can't Reproduce