
Announcements
Is it possible to call a custom action from the PCF control? Execute function shows in the WebAPI object but when we call a custom action an error message is thrown saying that Execute is undefined.
private async callAction(product:string): Promise<any>{
var id= Xrm.Utility.getGlobalContext();
var parameters = {
ProductName : product
};
var req = new XMLHttpRequest();
return new Promise(function (resolve, reject) {
req.open("POST", id.getClientUrl() + "/api/data/v9.0/actionName", true);
req.onreadystatechange = function () {
if (req.readyState !== 4) return;
if (req.status >= 200 && req.status < 300) {
// If successful
try {
var result=JSON.parse(req.response);
if (parseInt(result.StatusCode)<0){
reject({
status: result.StatusCode,
statusText: result.StatusMessage
});
}
resolve(req.response);
}
catch (error){
throw error;
}
} else {
// If failed
reject({
status: req.status,
statusText: req.statusText
});
}
};
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.send(JSON.stringify(parameters));
});
}Is the code we use for checking if the user's licence is valid - it uses a promise that returns resolve or reject as appropriate (and we actually only care about rejects here).