AKZA#35664 Exchange performance verbetering door alleen te syncen als nodig
svn path=/Website/branches/v2016.1/; revision=29362
This commit is contained in:
@@ -4,5 +4,6 @@
|
||||
password : 'pass@word1', // Let op: dat werkt alleen als ServerXMLHTTP denkt op intranet te zitten
|
||||
maxchange : 25, // Maximaal 25 wijzigingen tegelijk. De rest komt de volgende keer wel
|
||||
maxrecurring: 100, // Maximaal 1e 100 occurences van een recurring afspraak
|
||||
xmlfolder : "./xml/" // Hier komen alle opgehaalde XML's geplaatst. Moet bestaan
|
||||
xmlfolder : "./xml/", // Hier komen alle opgehaalde XML's geplaatst. Moet bestaan
|
||||
loglevel : 0
|
||||
}
|
||||
@@ -17,6 +17,7 @@ var inifile = ".\\exchange.config.js";
|
||||
var f = fso.OpenTextFile(inifile, 1); // ForReading
|
||||
var config = eval('(' + f.ReadAll() + ')')
|
||||
f.Close();
|
||||
config.loglevel = config.loglevel || 0;
|
||||
|
||||
WScript.Echo("Connecting to " + config.endpointurl)
|
||||
// ---
|
||||
@@ -54,7 +55,7 @@ var soapRequest = '<m:SyncFolderItems'
|
||||
+ '</m:SyncFolderItems>';
|
||||
|
||||
var room_id = safefilename(zaalemail);
|
||||
var exch = doExchange(config.endpointurl, soapRequest, "Sync_" + room_id + ".xml");
|
||||
var exch = doExchange(config.endpointurl, soapRequest, null);
|
||||
if (!exch)
|
||||
WScript.Quit(1);
|
||||
|
||||
@@ -70,6 +71,12 @@ var sha = oCrypto.hex_sha1(newsyncstate.text); // Gemakkelijker verschillen te z
|
||||
|
||||
WScript.Echo("New syncstate: " + newsyncstate.text + "\nHash: " + sha + "\nlength: " + newsyncstate.text.length);
|
||||
var calItems = xmlDoc.selectNodes("//t:CalendarItem");
|
||||
if (calItems.length == 0)
|
||||
{
|
||||
WScript.Echo("No calitems, no need to update syncstate");
|
||||
WScript.Quit(0);
|
||||
}
|
||||
__Log2File("Sync_" + room_id + ".xml", xmlDoc.xml); // moet straks gesynced
|
||||
WScript.Echo("Fetching " + calItems.length + " calendar items");
|
||||
for (var i = 0; i < calItems.length; i++)
|
||||
{
|
||||
@@ -172,7 +179,8 @@ function doSOAP(url, body, fname)
|
||||
var res = doHTTP("POST", url, envsoap);
|
||||
if (!res)
|
||||
return null;
|
||||
__Log2File(fname, res.responseText);
|
||||
if (fname)
|
||||
__Log2File(fname, res.responseText);
|
||||
var xmlDoc = new ActiveXObject("MSXML2.DOMDocument.6.0");
|
||||
xmlDoc.loadXML(res.responseText);
|
||||
xmlDoc.setProperty("SelectionLanguage", "XPath");
|
||||
@@ -194,13 +202,15 @@ function doHTTP(method, url, body)
|
||||
|
||||
objXMLHTTP.setOption(SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS, SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS);
|
||||
|
||||
__Log2File("request.xml", body);
|
||||
if (config.loglevel > 0)
|
||||
__Log2File("request.xml", body);
|
||||
objXMLHTTP.send(body);
|
||||
|
||||
if (objXMLHTTP.status >= 200 && objXMLHTTP.status <= 299)
|
||||
{
|
||||
return objXMLHTTP;
|
||||
}
|
||||
// else: er is iets fout
|
||||
__Log2File("response.xml", objXMLHTTP.responseText);
|
||||
WScript.Echo(objXMLHTTP.status);
|
||||
WScript.Echo(objXMLHTTP.statusText);
|
||||
|
||||
Reference in New Issue
Block a user