Отправка результатов LIS в Desire2Learn
Я создаю инструмент LTI, который позволит пользователям оценивать контент, который они создают в моей системе. Я хочу добиться этого с помощью LIS Outcomes, но у меня возникают проблемы с отправкой оценки в систему D2L.
Я продолжаю получать сообщение "Исключение произошло при обработке запроса" от D2L.
Я отправляю правильное тело запроса?
Вот тело запроса, которое я отправляю:
<?xml version="1.0" encoding="UTF-8"?>
<imsx_POXEnvelopeRequest xmlns="http://www.imsglobal.org/services/ltiv1p1/xsd/imsoms_v1p0">
<imsx_POXHeader>
<imsx_POXRequestHeaderInfo>
<imsx_version>V1.0</imsx_version>
<imsx_messageIdentifier>Inserted from My App</imsx_messageIdentifier>
</imsx_POXRequestHeaderInfo>
</imsx_POXHeader>
<imsx_POXBody>
<replaceResultRequest>
<resultRecord>
<sourcedGUID>
<sourcedId>31e08aaa-157f-4f60-9b7f-65c4f6f8ae67</sourcedId>
</sourcedGUID>
<result>
<resultScore>
<language>en</language>
<textString>0.65</textString>
</resultScore>
</result>
</resultRecord>
</replaceResultRequest>
</imsx_POXBody>
</imsx_POXEnvelopeRequest>
И вот ответ, который я получаю от сервера D2L:
<?xml version="1.0" encoding="UTF-8"?>
<imsx_POXEnvelopeRequest xmlns="http://www.imsglobal.org/services/ltiv1p1/xsd/imsoms_v1p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<imsx_POXHeader>
<imsx_POXResponseHeaderInfo>
<imsx_version>V1.0</imsx_version>
<imsx_messageIdentifier>Inserted from My App</imsx_messageIdentifier>
<imsx_statusInfo>
<imsx_codeMajor>failure</imsx_codeMajor>
<imsx_severity>error</imsx_severity>
<imsx_description>Exception occured while processing the request.</imsx_description>
<imsx_messageRefIdentifier>11a1fe65-aacf-47d6-9062-072cb61cc5b4</imsx_messageRefIdentifier>
<imsx_operationRefIdentifier>replaceResult</imsx_operationRefIdentifier>
</imsx_statusInfo>
</imsx_POXResponseHeaderInfo>
</imsx_POXHeader>
<imsx_POXBody />
</imsx_POXEnvelopeRequest>
Любая помощь с благодарностью, спасибо.
Редактировать: как sidenote, я сначала отправлял хэш Oauth в Authorization
заголовок с пробелами между значениями.
например: Authorization: OAuth realm="{url}", oauth_signature="{sig}"...
но я продолжал получать сообщение об ошибке авторизации.
Я взглянул на пример PHP по адресу: https://github.com/Desire2Learn-Valence/sample-LTI-WHMIS-quiz, и похоже, что пробелы не вставляются в Authorization
заголовок, поэтому я изменил свои заголовки так:
Authorization: OAuth realm="{url}",oauth_signature="{sig}"
И теперь D2L, кажется, принимает это, но дает мне вышеупомянутое Exception occured
сообщение