簡體   English   中英

在 Dynamics CRM 中使用 JavaScript 調用全局自定義操作

[英]Calling global custom action using JavaScript in Dynamics CRM

我在 Dynamics CRM 中使用 JavaScript 調用全局自定義操作時遇到問題。

在 CRM 中,我創建了這個全局操作,它接受一個輸入參數並返回一個輸出參數 我已經確認該操作已激活並有效。 當我嘗試使用 JavaScript 調用它時出現問題。

我的 JavaScript 代碼如下:

callCustomAction: function (actionName, actionParameters) {
    var result = null;

    var req = new XMLHttpRequest();
    req.open("POST", encodeURI(Xrm.Page.context.getClientUrl() + "/api/data/v8.2/" + actionName), false);
    req.setRequestHeader("Accept", "application/json");
    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    req.setRequestHeader("OData-MaxVersion", "4.0");
    req.setRequestHeader("OData-Version", "4.0");
    req.onreadystatechange = function () {
        if (this.readyState == 4) {
            req.onreadystatechange = null;

            if (this.status == 200) {
                result = JSON.parse(this.response);
            } else {
                var error = JSON.parse(this.response).error;
                alert(error.message);
            }
        }
    };
    req.send(window.JSON.stringify(actionParameters));

    return result;
}

現在,對我來說,這看起來是正確的,但我遇到了 URL 問題,目前無處可去。 我到處尋找全局操作的 URL 只是組織 URL,后跟“/api/data/v8.2/”和我的操作名稱,但對我來說它不起作用,我不知道為什么。

已解決問題是使用 EntityReferences 和字符串的混合作為輸出參數,這使我的操作沒有顯示在元數據下

無法使用 Web API 調用具有關聯輸出參數的全局操作。 對於沒有輸出參數的操作,情況並非如此。

這是因為有時狀態代碼是 200,有時不同。 我們注意到了這個錯誤,並觀察到它只發生在具有輸出參數的操作中。 我們也注意到這種情況在某些時候發生,並不經常發生,因為有時您會得到輸出但有時不會。

作為一種解決方法,您需要使用傳統的 SOAP 查詢並執行工作流,然后解析響應。

希望MS盡快解決這個問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM