

// Helper method to execute a SOAP request
function executeSoapRequest(action, xml)
{
var actionUrl = "http://schemas.microsoft.com/crm/2007/WebServices/";
actionUrl += action;
var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
xmlHttpRequest.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
xmlHttpRequest.setRequestHeader("SOAPAction",actionUrl);
xmlHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xmlHttpRequest.setRequestHeader("Content-Length", xml.length);
xmlHttpRequest.send(xml);
var resultXml = xmlHttpRequest.responseXML;
return resultXml;
}
// Helper method to return a single node value from XML
function getNodeValue(tree, el)
{
var retVal = null;
var e = null;
e = tree.getElementsByTagName(el);
if (e != null && e[0] != null) {
retVal = e[0].firstChild.nodeValue;
}
return retVal;
}
// Helper method to return a multiple node value from XML
function getMultipleNodeValues(tree, el)
{
var retVal = new Array();
var e = null;
e = tree.getElementsByTagName(el);
for(i = 0; i < e.length; i++) {
retVal[i] = e[i].firstChild.nodeValue;
}
return retVal;
}