Click or drag to resize
IQMS2SetDSPAPISettings Method
Sets Directory Service Provider (DSP) Settings.

Namespace: PIX.Services.V12.Api2
Assembly: 
Syntax
void SetDSPAPISettings(
	DSPSettings dspSettings
)

Parameters

dspSettings
Type: PIX.QMSAPI.DataObjectsDSPSettings
DSP settings that should be saved.
Remarks
Security note Security Note

Requires membership of local group QlikView Management API and the role Document Folder Administrator.

Examples
The following code example uses the QMS API to retrieve DSP settings. It changes the value for CacheExpiryInMinutes and then saves it. If everything goes well, it prints the original CacheExpiryInMinutes value and then a message when it's done. If anything goes wrong it prints an error message.

The service key injection is assumed to be handled behind the scenes. For an example of how to inject the service key, see Samples.

C#
 using System;
 using System.Collections.Generic;
 using System.Linq;
 using QMSAPI;

class Program
{
     static void Main(string[] args)
     {
         try
         {
            // create a QMS API client
            IQMS2 apiClient = new QMS2Client();

            //retrieve a time limited service key
            ServiceKeyClientMessageInspector.ServiceKey = apiClient.GetTimeLimitedServiceKey();

            //get a list of all Directory Service Connectors
            ServiceInfo[] dsConnectors = apiClient.GetServices(ServiceTypes.QlikViewDirectoryServiceConnector);

            //get DSP settings, of the type Active Directory for the first DSC in the list
            DSPSettings settings = apiClient.GetDSPAPISettings(dsConnectors[0].ID, DSPType.AD);

            if (settings != null)
            {
                 //get a dictionary of the settings for the first resource in the list
                 Dictionary<string, string> dspDictionary = settings.Resources[0].Settings.ToDictionary(x => x.Key, x => x.Value);

                 //print the current value for CacheExpiryInMinutes
                 Console.WriteLine("Cache expiry in minutes before change: " + dspDictionary["CacheExpiryInMinutes"]);

                 //change the value of CacheExpiryInMinutes
                 dspDictionary["CacheExpiryInMinutes"] = "50";

                 //set and save the new settings
                 settings.Resources[0].Settings = dspDictionary;
                 apiClient.SetDSPAPISettings(settings);
            }
         }
         catch(Exception e)
         {
             Console.WriteLine("An error occured: " + e.Message);
         }
         // wait for user to press any key
         Console.ReadLine();
     }
}
See Also