I want to call Crm action from javascript but i am unable to do this is my javascript code
function createPurchaseInvoice() {
alert("start");
debugger;
var entityId = Xrm.Page.data.entity.getId();
var entityName = "new_enquiry";
var requestName = "custom_CreatePurchaceInvoice";
ExecuteActionCreateProject( entityId, requestName);
}
function ExecuteActionCreateProject(entityId ,requestName ) {
var requestMain = "";
requestMain += "<s:Envelope xmlns:s=\"schemas.xmlsoap.org/.../envelope\">";
requestMain += " <s:Body>";
requestMain += " <Execute xmlns=\"schemas.microsoft.com/.../Services\" xmlns:i=\"www.w3.org/.../XMLSchema-instance\">";
requestMain += " <request xmlns:a=\"schemas.microsoft.com/.../Contracts\">";
requestMain += " <a:Parameters xmlns:b=\"schemas.datacontract.org/.../System.Collections.Generic\">";
requestMain += " <a:KeyValuePairOfstringanyType>";
requestMain += " <b:key>PurchaceOrderId</b:key>";
requestMain += " <b:value i:type=\"c:string\" xmlns:c=\"www.w3.org/.../XMLSchema\">" + entityId + "</b:value>";
requestMain += " </a:KeyValuePairOfstringanyType>";
requestMain += " </a:Parameters>";
requestMain += " <a:RequestId i:nil=\"true\" />";
requestMain += " <a:RequestName>" + requestName+ "</a:RequestName>";
requestMain += " </request>";
requestMain += " </Execute>";
requestMain += " </s:Body>";
requestMain += "</s:Envelope>";
var url = Xrm.Page.context.getClientUrl() + "/XRMServices/2011/Organization.svc/web";
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST", url, false);
xmlhttp.setRequestHeader("Accept", "application/xml, text/xml, */*");
xmlhttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xmlhttp.setRequestHeader("SOAPAction", "schemas.microsoft.com/.../Execute");
xmlhttp.onreadystatechange = function () {
// getFileAndAttachCallback(xmlhttp, getFileAndAttachSuccess, getFileAndAttachError);
};
xmlhttp.send(requestMain);
}
function getFileAndAttachCallback(req, successCallback, errorCallback) {
if (req.readyState == 4)/*4 = Complete*/ {
req.onreadystatechange = null;// Potential memory leak issue with IE
if (req.status == 200)/*200 = OK*/ {
// successCallback(req.responseXML);
}
else {
alert("fail");
// errorCallback(req.responseXML);
}
}
alert("sucess");
}
;
But i am not able to call this
Kindly help me