Добавление заголовка MSCRM.SuppressDuplicateDetection в запрос веб-API CRM Dynamics дает код HTTP 412 - PullRequest
0 голосов
/ 11 сентября 2018

Мы используем веб-API Microsoft CRM Dynamics онлайн (v9.0)

Все нормально работает с «обычными» операциями create en read, но когда мы хотим использовать функцию обнаружения дублирования, веб-сервис Microsoftвозвращается с 412.

URL obj = new URL(fullOdataURL);
HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
con.setRequestMethod("POST");

con.setRequestProperty("Content-Type", "application/json");
con.setRequestProperty("Authorization", "Bearer " + accesstoken);
con.setRequestProperty("OData-MaxVersion", "4.0");
con.setRequestProperty("OData-Version", "4.0");
con.setRequestProperty("MSCRM.SuppressDuplicateDetection", "false");

В веб-интерфейсе CRM работает обнаружение дубликатов, см. скриншот

enter image description here

1 Ответ

0 голосов
/ 15 октября 2018

Код ответа клиента об ошибке HyperText Transfer Protocol (HTTP) 412 Precondition Failed указывает на то, что доступ к целевому ресурсу был запрещен.Это происходит с условными запросами к методам, отличным от GET или HEAD, когда условие, определенное заголовками If-Unmodified-Since или If-None-Match, не выполняется.В этом случае запрос, обычно загрузка или изменение ресурса, не может быть выполнен, и этот ответ об ошибке отправляется обратно.

Ссылка

Итак, в вашем запросе добавьте следующий заголовок:

If-None-Match: null

Документация

con.setRequestProperty("If-None-Match", null);
...