watson
June 22, 2016, 12:52pm
1
Hi Genesys Wizards,
I am trying to read the values from CME servers Application → Properties → Options (via .Net PSDK API)
I am trying to read it manually like Configuration>environment>applications>Desktop ( Right click on listed application Name>properties>options).
if its the cfgapplication object , then I am looking at a method called getoptions() to probably achieve the same in JAVA
URL :http://www.genesyslab.info/repository/PSDK/8.0-Java_API_Reference/com/genesyslab/platform/applicationblocks/com/objects/CfgApplication.html#getOptions()
But I don’t see a similar method listed in .Net PSDK chm file
So I tried to do it like the below in .net as a first step I was trying to read the application Name but no luck. (then I would want to read the options )
Could you please advice if am missing anything or is there a equivalent method like getoptions in .net?
var CfgapplicQuery = new CfgApplicationQuery(service) { Name = "MY APPLIC NAME"};
var CfgApplication_Query_Values = CfgapplicQuery.Execute();
foreach (CfgApplication values in CfgApplication_Query_values)
{
MessageBox.Show(Values.Name); // I would expect it to display the Applic Name passed in query while it isn't!!
}
Kubig
June 22, 2016, 2:30pm
2
You have to work with CfgApplication object to allow using method getOptions(). Did you try to retype the retrieved object to the CfgApplication?
1 Like
That code works for me..
In .Net to get the options use .Options
var CfgapplicQuery = new CfgApplicationQuery(confService) { Name = "Stat_Server" };
var CfgApplication_Query_Values = CfgapplicQuery.Execute();
foreach (CfgApplication values in CfgApplication_Query_Values)
{
Console.WriteLine(values.Name);
var kvLog = values.Options["Log"];
if (kvLog != null)
{
}
}
1 Like
Another way to do the same…
CfgApplication app = configService.MyApplication;
And then, app.UserProperties (annex) , appOptions (options)
Regards!
1 Like
watson
June 29, 2016, 1:56pm
5
That code works for me..
In .Net to get the options use .Options
var CfgapplicQuery = new CfgApplicationQuery(confService) { Name = "Stat_Server" };
var CfgApplication_Query_Values = CfgapplicQuery.Execute();
foreach (CfgApplication values in CfgApplication_Query_Values)
{
Console.WriteLine(values.Name);
var kvLog = values.Options["Log"];
if (kvLog != null)
{
}
}
Thanks PeteHoyle with your code I got some idea how to do this ..
watson
June 29, 2016, 1:58pm
6
Thanks Kubig and Daniel San for your responses.
Another way to do the same…
CfgApplication app = configService.MyApplication;
And then, app.UserProperties (annex) , appOptions (options)
Regards!
Need a clarification here…this code would be for WDE, right? IConfigurationService?
2 Likes
I have made the following code to read options from an app (URS option has URI and other values)
APP
|> URL1
| >URI: http://www.yahoo.com
|__>q=123456
IConfService confService = ConfServiceFactory.CreateConfService(p);
CfgApplicationQuery cfgapp = new CfgApplicationQuery(confService) { Name = "SampleAPP" };
//var cfgApp_Values = cfgapp.Execute();
//foreach (CfgApplication values in cfgApp_Values)
//{
// Console.WriteLine(values.Name);
// writeToLogArea("Option values: " + values.Name);
//}
CfgApplication app = confService.RetrieveObject<CfgApplication>(cfgapp);
KeyValueCollection kvp1 = new KeyValueCollection(app.Options);
writeToLogArea("SampleAPP Options: " + kvp1.ToString());
//kvp1.GetAsKeyValueCollection("URL1");
foreach (DictionaryEntry x in kvp1)
{
if (x.Key.ToString().StartsWith("URL")) {
writeToLogArea("URL Section >" + x.Key + ":" + x.Value);
KeyValueCollection values = new KeyValueCollection();
values = kvp1.GetAsKeyValueCollection(x.Key.ToString());
foreach(DictionaryEntry val in values)
{
writeToLogArea("URL Parameters > " + val.Key + ":" + val.Value);
if(val.Key.ToString().StartsWith("URI"))
writeToLogArea("URI for " + x.Key + " is " + val.Value.ToString());
}
}
}
What do you think? Works for me but wondering if there is a more effective way?