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
|
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
|
maxchange : 25, // Maximaal 25 wijzigingen tegelijk. De rest komt de volgende keer wel
|
||||||
maxrecurring: 100, // Maximaal 1e 100 occurences van een recurring afspraak
|
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 f = fso.OpenTextFile(inifile, 1); // ForReading
|
||||||
var config = eval('(' + f.ReadAll() + ')')
|
var config = eval('(' + f.ReadAll() + ')')
|
||||||
f.Close();
|
f.Close();
|
||||||
|
config.loglevel = config.loglevel || 0;
|
||||||
|
|
||||||
WScript.Echo("Connecting to " + config.endpointurl)
|
WScript.Echo("Connecting to " + config.endpointurl)
|
||||||
// ---
|
// ---
|
||||||
@@ -54,7 +55,7 @@ var soapRequest = '<m:SyncFolderItems'
|
|||||||
+ '</m:SyncFolderItems>';
|
+ '</m:SyncFolderItems>';
|
||||||
|
|
||||||
var room_id = safefilename(zaalemail);
|
var room_id = safefilename(zaalemail);
|
||||||
var exch = doExchange(config.endpointurl, soapRequest, "Sync_" + room_id + ".xml");
|
var exch = doExchange(config.endpointurl, soapRequest, null);
|
||||||
if (!exch)
|
if (!exch)
|
||||||
WScript.Quit(1);
|
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);
|
WScript.Echo("New syncstate: " + newsyncstate.text + "\nHash: " + sha + "\nlength: " + newsyncstate.text.length);
|
||||||
var calItems = xmlDoc.selectNodes("//t:CalendarItem");
|
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");
|
WScript.Echo("Fetching " + calItems.length + " calendar items");
|
||||||
for (var i = 0; i < calItems.length; i++)
|
for (var i = 0; i < calItems.length; i++)
|
||||||
{
|
{
|
||||||
@@ -172,7 +179,8 @@ function doSOAP(url, body, fname)
|
|||||||
var res = doHTTP("POST", url, envsoap);
|
var res = doHTTP("POST", url, envsoap);
|
||||||
if (!res)
|
if (!res)
|
||||||
return null;
|
return null;
|
||||||
__Log2File(fname, res.responseText);
|
if (fname)
|
||||||
|
__Log2File(fname, res.responseText);
|
||||||
var xmlDoc = new ActiveXObject("MSXML2.DOMDocument.6.0");
|
var xmlDoc = new ActiveXObject("MSXML2.DOMDocument.6.0");
|
||||||
xmlDoc.loadXML(res.responseText);
|
xmlDoc.loadXML(res.responseText);
|
||||||
xmlDoc.setProperty("SelectionLanguage", "XPath");
|
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);
|
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);
|
objXMLHTTP.send(body);
|
||||||
|
|
||||||
if (objXMLHTTP.status >= 200 && objXMLHTTP.status <= 299)
|
if (objXMLHTTP.status >= 200 && objXMLHTTP.status <= 299)
|
||||||
{
|
{
|
||||||
return objXMLHTTP;
|
return objXMLHTTP;
|
||||||
}
|
}
|
||||||
|
// else: er is iets fout
|
||||||
__Log2File("response.xml", objXMLHTTP.responseText);
|
__Log2File("response.xml", objXMLHTTP.responseText);
|
||||||
WScript.Echo(objXMLHTTP.status);
|
WScript.Echo(objXMLHTTP.status);
|
||||||
WScript.Echo(objXMLHTTP.statusText);
|
WScript.Echo(objXMLHTTP.statusText);
|
||||||
|
|||||||
Reference in New Issue
Block a user