303 Ошибка при вызове Valence для ввода значения оценки для элемента оценки для отдельного пользователя.
Я получаю сообщение об ошибке "303 See Other", когда я звоню, чтобы указать конкретную оценку для конкретного пользователя.
PUT /d2l/api/le/(D2LVERSION: version)/(D2LID: orgUnitId)/grades/(D2LID: gradeObjectId)/values/(D2LID: userId))
Все значения действительны (в противном случае я получу ошибку 404). Интересно, что вызов работает для некоторых курсов, но не для других. Есть идеи?
Мы использовали Fiddler для отслеживания запроса, и запрос имеет формат (заменил конфиденциальную информацию на "..."):
PUT https://carmen.osu.edu/d2l/api/le/1.0/.../grades/.../values/947067?x_a= ...&x_b=-...&x_d=...&x_c=...&x_t=1374779761
HTTP/1.1
Content-Type: application/json
Host: carmen.osu.edu
Content-Length: 44
Expect: 100-continue
{"GradeObjectType":1,"PointsNumerator":30.0}
Ответ был:
HTTP/1.1 303 See other
Cache-Control: private
Content-Length: 0
Location: /d2l/error/500
Server: Microsoft-IIS/7.5
X-XSS-Protection: 0
X-Powered-By: ASP.NET
Date: Thu, 25 Jul 2013 19:16:40 GMT
Редактировать: Мы обнаружили, что если значение оценки уже введено, вышеуказанные вызовы PUT работают нормально. Это дает нам 303 только тогда, когда значение оценки соответствует значению по умолчанию. Это происходит только в этом курсе (что мы знаем).
1 ответ
Это очень похоже на известную проблему, с которой API-интерфейсы Grades сталкивались в недавнем прошлом, и я считаю, что она была решена. Исправление для этой проблемы было распространено в майских и июньских выпусках пакетов обновления. Исправленная проблема была решена и описана следующим образом:
Случаи, которые ранее разрешали деление на ноль в API Valence Learning Framework для оценок, больше не разрешены. Эта проблема была исправлена в Learning Suite 10.2 с пакетом обновления 1, Learning Suite 10.1 с пакетом обновления 8, Learning Suite 10 с пакетом обновления 12 и Learning Suite 9.4.1 с пакетом обновления 17.
Пожалуйста, убедитесь, что ваша LMS обновлена как минимум до указанного уровня пакета обновления:
Если это не так, то обновление до этого уровня пакета обновления может решить вашу проблему.
Если обновление не решает вашу проблему (или ваша LMS уже находится на этом уровне исправлений), вам следует открыть службу поддержки в службе поддержки Desire2Learn и охарактеризовать эту ситуацию как возможный дефект с компонентами LE Assessments. Если вы сделаете это, вам также следует указать URL-адрес этого вопроса в Stack, чтобы служба поддержки знала, что вы уже провели какое-то расследование этой проблемы.
Обходной путь. Для решения этой проблемы есть обходной путь, но он может оказаться невозможным для вас, в зависимости от вашего варианта использования. Если вы сначала вводите оценку для пользователя через веб-интерфейс, то (если это известная, исправленная проблема, я считаю, что это так), обновление этой оценки с помощью API должно работать - эта проблема применяется только при первой попытке установить оценка качества была выполнена через API (и, я полагаю, также только с Numeric
типы сортов).