replaceResult LTI request returns success without recording grade

Jump to solution
jm99821
Community Member

I'm trying to make an LTI 1.0 spec replaceResult post to Canvas in order to record a grade.

Sample request:

<?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>uuid goes here</imsx_messageIdentifier>
      </imsx_POXRequestHeaderInfo>
   </imsx_POXHeader>
   <imsx_POXBody>
      <replaceResultRequest>
         <resultRecord>
            <sourcedGUID>
               <sourcedId>stuff goes here</sourcedId>
            </sourcedGUID>
            <result>
               <resultScore>
                  <language>en</language>
                  <textString>0.70</textString>
               </resultScore>
            </result>
         </resultRecord>
      </replaceResultRequest>
   </imsx_POXBody>
</imsx_POXEnvelopeRequest>

 

Canvas is returning a 200 response with a imsx_codeMajor of "success" and an empty imsx_description node. Looking at the Assignment in the Canvas Student View after submission continues to show 0 points on the Assignment. Putting a value greater than 1 into the resultScore gets an error response, so it seems like Canvas is looking at the field and just not saving it.

 

Any help would be appreciated.

0 Likes
1 Solution
jm99821
Community Member
Author

Answered it; you have to define the max points for the assignment in Canvas. If it's 0, Canvas won't display the grade.

View solution in original post

0 Likes