POST-ответ MS Dynamics Campaign: 500 Внутренняя ошибка сервера - PullRequest
0 голосов
/ 03 мая 2018

Я работаю над MS Dynamics 365, я взял ссылку из документации Microsoft .

Здесь, когда я публикую данные, это дает 500 Внутренняя ошибка сервера

«GET» хорошо работает с той же конечной точкой API.

У нас есть какой-нибудь реляционный параметр, который мне не хватает?

Почтовые данные

 var payload = new
        {
            subject = "TestSubject",
            statecode=2,
            statuscode=3,
            responsecode=1               
        };            

1 Ответ

0 голосов
/ 04 мая 2018

Вы пропали без вести regardingobjectid

Я рекомендую вам использовать CRM REST Builder , это поможет вам сгенерировать запрос, изменить и протестировать в CRM. Это покажет все необходимые атрибуты, выделенные красным.

var entity = {};
entity.subject = "test";
entity["regardingobjectid_campaign@odata.bind"] = "/campaigns(9CFBD4BD-CD4F-E811-A95A-000D3A1A9407)";
entity.responsecode = 3;

var req = new XMLHttpRequest();
req.open("POST", Xrm.Page.context.getClientUrl() + "/api/data/v8.2/campaignresponses", true);
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.onreadystatechange = function() {
    if (this.readyState === 4) {
        req.onreadystatechange = null;
        if (this.status === 204) {
            var uri = this.getResponseHeader("OData-EntityId");
            var regExp = /\(([^)]+)\)/;
            var matches = regExp.exec(uri);
            var newEntityId = matches[1];
        } else {
            Xrm.Utility.alertDialog(this.statusText);
        }
    }
};
req.send(JSON.stringify(entity));

enter image description here

...