Отправка результатов 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 сообщение

0 ответов

Другие вопросы по тегам