<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: QMSClient.SaveCALConfiguration doesn't seem to be working in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/QMSClient-SaveCALConfiguration-doesn-t-seem-to-be-working/m-p/1261976#M1294300</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Moving this to a different forum location.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 21 Nov 2016 17:07:25 GMT</pubDate>
    <dc:creator />
    <dc:date>2016-11-21T17:07:25Z</dc:date>
    <item>
      <title>QMSClient.SaveCALConfiguration doesn't seem to be working</title>
      <link>https://community.qlik.com/t5/QlikView/QMSClient-SaveCALConfiguration-doesn-t-seem-to-be-working/m-p/1261970#M1294278</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can anyone help me understand why this below would not remove named cals. It seems to work fine until the very last line where it does the save. I don't get any exceptions or error messages.&lt;/P&gt;&lt;P&gt;When i look in QV Management console under System&amp;gt;Licenses i still see the ones that were supposed to be removed (Named user CALs)&lt;/P&gt;&lt;P&gt;Client Build Number: 11.20.13314.0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE&gt;QMSClient Client;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; string QMS = "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://localhost:4799/QMS/Service" rel="nofollow" target="_blank"&gt;http://localhost:4799/QMS/Service&lt;/A&gt;&lt;SPAN&gt;";&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp; Client = new QMSClient("BasicHttpBinding_IQMS", QMS);&lt;BR /&gt;&amp;nbsp; string key = Client.GetTimeLimitedServiceKey();&lt;BR /&gt;&amp;nbsp; ServiceKeyClientMessageInspector.ServiceKey = key;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; List&amp;lt;ServiceInfo&amp;gt; MyQVS = Client.GetServices(ServiceTypes.QlikViewServer);&lt;BR /&gt;&amp;nbsp; Client.ClearQVSCache(QVSCacheObjects.All);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; CALConfiguration myCALs = Client.GetCALConfiguration(MyQVS[0].ID, CALConfigurationScope.NamedCALs);&lt;BR /&gt;&amp;nbsp; List&amp;lt;AssignedNamedCAL&amp;gt; currentNamedCALs = myCALs.NamedCALs.AssignedCALs.ToList();&lt;BR /&gt;&amp;nbsp; List&amp;lt;int&amp;gt; indexToRemove = new List&amp;lt;int&amp;gt;();&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; int cnt = 1;&lt;BR /&gt;&amp;nbsp; for (int i = 0; i &amp;lt; currentNamedCALs.Count; i++)&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp; if ((currentNamedCALs&lt;I&gt;.QuarantinedUntil &amp;lt; System.DateTime.Now)&lt;BR /&gt;&amp;nbsp; &amp;amp;&amp;amp; (currentNamedCALs&lt;I&gt;.LastUsed &amp;lt; DateTime.Now.AddDays(daysFromToday)))&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp; Console.WriteLine("[" + cnt + "] " + currentNamedCALs&lt;I&gt;.UserName +&lt;BR /&gt;&amp;nbsp; "; Last used: " + currentNamedCALs&lt;I&gt;.LastUsed);&lt;BR /&gt;&amp;nbsp; indexToRemove.Add(i);&lt;BR /&gt;&amp;nbsp; cnt++;&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; Console.WriteLine();&lt;BR /&gt;&amp;nbsp; for (int i = indexToRemove.Count; i &amp;gt; 0; i--)&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp; if (currentNamedCALs[indexToRemove[i - 1]] != null)&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp; currentNamedCALs.RemoveAt(indexToRemove[i - 1]);&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; Console.WriteLine("\nDone");&lt;BR /&gt;&amp;nbsp; myCALs.NamedCALs.AssignedCALs = currentNamedCALs;&lt;BR /&gt;&amp;nbsp; Client.SaveCALConfiguration(myCALs);&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/CODE&gt;&lt;I&gt;&lt;I&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 26 Jan 2026 18:19:17 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/QMSClient-SaveCALConfiguration-doesn-t-seem-to-be-working/m-p/1261970#M1294278</guid>
      <dc:creator />
      <dc:date>2026-01-26T18:19:17Z</dc:date>
    </item>
    <item>
      <title>Re: QMSClient.SaveCALConfiguration doesn't seem to be working</title>
      <link>https://community.qlik.com/t5/QlikView/QMSClient-SaveCALConfiguration-doesn-t-seem-to-be-working/m-p/1261971#M1294280</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;With QV11.20 SR13 the API was changed. Since them removed CALs has to be added to the RemovedAssignedCALs List:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;QMSClient Client;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;string QMS = "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://localhost:4799/QMS/Service" rel="nofollow" target="_blank"&gt;http://localhost:4799/QMS/Service&lt;/A&gt;&lt;SPAN&gt;";&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Client = new QMSClient("BasicHttpBinding_IQMS", QMS);&lt;/P&gt;&lt;P&gt;string key = Client.GetTimeLimitedServiceKey();&lt;/P&gt;&lt;P&gt;ServiceKeyClientMessageInspector.ServiceKey = key;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;List&amp;lt;ServiceInfo&amp;gt; MyQVS = Client.GetServices(ServiceTypes.QlikViewServer);&lt;/P&gt;&lt;P&gt;Client.ClearQVSCache(QVSCacheObjects.All);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALConfiguration myCALs = Client.GetCALConfiguration(MyQVS[0].ID, CALConfigurationScope.NamedCALs);&lt;/P&gt;&lt;P&gt;List&amp;lt;AssignedNamedCAL&amp;gt; currentNamedCALs = myCALs.NamedCALs.AssignedCALs.ToList();&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;List&amp;lt;AssignedNamedCAL&amp;gt; removedCALs = new List&amp;lt;AssignedNamedCAL&amp;gt;();&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;List&amp;lt;int&amp;gt; indexToRemove = new List&amp;lt;int&amp;gt;();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;int cnt = 1;&lt;/P&gt;&lt;P&gt;for (int i = 0; i &amp;lt; currentNamedCALs.Count; i++)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((currentNamedCALs&lt;I&gt;.QuarantinedUntil &amp;lt; System.DateTime.Now)&lt;/I&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;&amp;amp; (currentNamedCALs&lt;I&gt;.LastUsed &amp;lt; DateTime.Now.AddDays(daysFromToday)))&lt;/I&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine("[" + cnt + "] " + currentNamedCALs&lt;I&gt;.UserName +&lt;/I&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "; Last used: " + currentNamedCALs&lt;I&gt;.LastUsed);&lt;/I&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; indexToRemove.Add(i);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cnt++;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;Console.WriteLine();&lt;/P&gt;&lt;P&gt;for (int i = indexToRemove.Count; i &amp;gt; 0; i--)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (currentNamedCALs[indexToRemove[i - 1]] != null)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;removedCALs.Add(currentNamedCALs[&lt;SPAN style="font-size: 13.3333px;"&gt;indexToRemove[i - 1]&lt;/SPAN&gt;]);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; currentNamedCALs.RemoveAt(indexToRemove[i - 1]);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Console.WriteLine("\nDone");&lt;/P&gt;&lt;P&gt;myCALs.NamedCALs.AssignedCALs = currentNamedCALs.ToArray();&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;myCALs.NamedCALs.RemovedAssignedCALs = removedCALs.ToArray();&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Client.SaveCALConfiguration(myCALs);&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Nov 2016 05:38:39 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/QMSClient-SaveCALConfiguration-doesn-t-seem-to-be-working/m-p/1261971#M1294280</guid>
      <dc:creator>cwolf</dc:creator>
      <dc:date>2016-11-17T05:38:39Z</dc:date>
    </item>
    <item>
      <title>Re: QMSClient.SaveCALConfiguration doesn't seem to be working</title>
      <link>https://community.qlik.com/t5/QlikView/QMSClient-SaveCALConfiguration-doesn-t-seem-to-be-working/m-p/1261972#M1294284</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;That makes sense but when on this line:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;myCALs.NamedCALs.RemovedAssignedCALs = removedCALs.ToArray();&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i get this message:&lt;/P&gt;&lt;P&gt;'CALConfiguration.CALConfigurationNamedCALs' does not contain a definition for 'RemovedAssignedCALs' and no extension method 'RemovedAssignedCALs' accepting a first argument of type 'CALConfiguration.CALConfigurationNamedCALs' could be found (are you missing a using directive or an assembly reference?)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any idea why&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Nov 2016 14:11:46 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/QMSClient-SaveCALConfiguration-doesn-t-seem-to-be-working/m-p/1261972#M1294284</guid>
      <dc:creator />
      <dc:date>2016-11-17T14:11:46Z</dc:date>
    </item>
    <item>
      <title>Re: QMSClient.SaveCALConfiguration doesn't seem to be working</title>
      <link>https://community.qlik.com/t5/QlikView/QMSClient-SaveCALConfiguration-doesn-t-seem-to-be-working/m-p/1261973#M1294289</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry, maybe it was my mistake. It seems the change of the API came with SR15 (with I work) and not SR13, but I don't know exactly. But then your code should work.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Nov 2016 15:26:53 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/QMSClient-SaveCALConfiguration-doesn-t-seem-to-be-working/m-p/1261973#M1294289</guid>
      <dc:creator>cwolf</dc:creator>
      <dc:date>2016-11-17T15:26:53Z</dc:date>
    </item>
    <item>
      <title>Re: QMSClient.SaveCALConfiguration doesn't seem to be working</title>
      <link>https://community.qlik.com/t5/QlikView/QMSClient-SaveCALConfiguration-doesn-t-seem-to-be-working/m-p/1261974#M1294293</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;have you try it also without an conversion to array:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;myCALs.NamedCALs.RemovedAssignedCALs = removedCALs;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;?&lt;BR /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Nov 2016 16:09:51 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/QMSClient-SaveCALConfiguration-doesn-t-seem-to-be-working/m-p/1261974#M1294293</guid>
      <dc:creator>cwolf</dc:creator>
      <dc:date>2016-11-17T16:09:51Z</dc:date>
    </item>
    <item>
      <title>Re: QMSClient.SaveCALConfiguration doesn't seem to be working</title>
      <link>https://community.qlik.com/t5/QlikView/QMSClient-SaveCALConfiguration-doesn-t-seem-to-be-working/m-p/1261975#M1294297</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;RemovedAssignedCALs does not exist for me at all.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But i did try myCALs.&lt;STRONG&gt;NamedCALs.AssignedCALs&lt;/STRONG&gt; = currentNamedCALs; both with and without the conversion to array.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried with Service Reference/QMSAPIService being both Array (like in your code) and System.Collections.Generic.List (like in my original code)&amp;nbsp; I was getting same behavior.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Nov 2016 16:41:00 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/QMSClient-SaveCALConfiguration-doesn-t-seem-to-be-working/m-p/1261975#M1294297</guid>
      <dc:creator />
      <dc:date>2016-11-17T16:41:00Z</dc:date>
    </item>
    <item>
      <title>Re: QMSClient.SaveCALConfiguration doesn't seem to be working</title>
      <link>https://community.qlik.com/t5/QlikView/QMSClient-SaveCALConfiguration-doesn-t-seem-to-be-working/m-p/1261976#M1294300</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Moving this to a different forum location.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Nov 2016 17:07:25 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/QMSClient-SaveCALConfiguration-doesn-t-seem-to-be-working/m-p/1261976#M1294300</guid>
      <dc:creator />
      <dc:date>2016-11-21T17:07:25Z</dc:date>
    </item>
    <item>
      <title>Re: QMSClient.SaveCALConfiguration doesn't seem to be working</title>
      <link>https://community.qlik.com/t5/QlikView/QMSClient-SaveCALConfiguration-doesn-t-seem-to-be-working/m-p/1261977#M1294302</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;(replying as proxy for the original poster)&lt;/P&gt;&lt;P&gt;Thanks, this appears to correct the original issue using SR15 server and &lt;STRONG&gt;regenerated web service client&lt;/STRONG&gt; code (&lt;SPAN style="text-decoration: underline;"&gt;very important&lt;/SPAN&gt;).&amp;nbsp; I am begging you for the sanity of your customers, update the document (as well as the provided sample code) at the following linked URL, maybe notating the api change and what SR started requiring the additional code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.qlik.com/docs/DOC-3657"&gt;QlikView Management API - #3 Export / Add / Delete Named CALs&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Apr 2017 17:36:07 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/QMSClient-SaveCALConfiguration-doesn-t-seem-to-be-working/m-p/1261977#M1294302</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-04-26T17:36:07Z</dc:date>
    </item>
  </channel>
</rss>

