Добавление заголовка MSCRM.SuppressDuplicateDetection в запрос CRM Dynamics Web API дает код HTTP 412

Мы используем WEB API Microsoft CRM Dynamics Online (v9.0)

Все работает нормально с «обычными» операциями создания и чтения, но когда мы хотим использовать функцию обнаружения дублирования, веб-сервис 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 обнаружение дубликатов работает, см. Снимок экрана.

введите описание изображения здесь


person mpjjonker    schedule 11.09.2018    source источник


Ответы (1)


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

Справочник

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

If-None-Match: null

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

con.setRequestProperty("If-None-Match", null);
person Arun Vinoth    schedule 15.10.2018