Forum Discussion

AndrewKrahn's avatar
AndrewKrahn
Community Member
6 days ago

SCORM 1.2 - "Error State: 405 - cmi.interactions.n.student_response must be a valid CMIFeedback"

No one noticed until the module was live on the client's LMS that the first time a user failed a graded assessment, no score was given, but they were marked as "failed".

They were only given a score if they relaunched the module and retook the assessment.

It was set to "pass/incomplete" if that matters. (I can't find what those 4 options in the "Report Status to LMS as" box mean anywhere.

I only just found SCORMcloud but found the following in the logs on that module, for every assessment question.

[10:01:14.200] LMSGetValue('cmi.interactions._count') returned '3' in 0 seconds

[10:01:14.200] CheckForGetValueError (cmi.interactions._count, cmi.interactions._count, , )

[10:01:14.200] Call is error free.

[10:01:14.200] RetrieveGetValueData (cmi.interactions._count, cmi.interactions._count, , )

[10:01:14.200] Element is: interactions._count

    [10:01:14.200] LMSGetLastError() returned '0' in 0 seconds

- [10:01:14.200] LMSSetValue('cmi.interactions.3.id', 'Scene1_QuestionDraw271_Slide5_MultiChoice_0_0') returned 'true' in 0 seconds

[10:01:14.200] CheckForSetValueError (cmi.interactions.3.id, Scene1_QuestionDraw271_Slide5_MultiChoice_0_0, cmi.interactions.n.id, 3, )

[10:01:14.200] Element is: interactions.id

[10:01:14.200] Call is error free.

[10:01:14.200] StoreValue (cmi.interactions.3.id, Scene1_QuestionDraw271_Slide5_MultiChoice_0_0, cmi.interactions.n.id, 3, )

[10:01:14.200] Element is: interactions.id

[10:01:14.200] Adding new interaction at position 3

- [10:01:14.200] LMSSetValue('cmi.interactions.3.type', 'choice') returned 'true' in 0 seconds

[10:01:14.200] CheckForSetValueError (cmi.interactions.3.type, choice, cmi.interactions.n.type, 3, )

[10:01:14.200] Element is: interacitons.type

[10:01:14.200] Call is error free.

[10:01:14.200] StoreValue (cmi.interactions.3.type, choice, cmi.interactions.n.type, 3, )

[10:01:14.200] Element is: interacitons.type

- [10:01:14.200] LMSSetValue('cmi.interactions.3.student_response', 'PSD_stop_you_from_physically_entering_a_dangerous_area.') returned 'false' in 0 seconds

[10:01:14.200] CheckForSetValueError (cmi.interactions.3.student_response, PSD_stop_you_from_physically_entering_a_dangerous_area., cmi.interactions.n.student_response, 3, )

[10:01:14.200] Element is: interactions.student_response

[10:01:14.200] SCORM ERROR FOUND - Set Error State: 405 - cmi.interactions.n.student_response must be a valid CMIFeedback - value must be consistent with interaction type. Your value is: PSD_stop_you_from_physically_entering_a_dangerous_area.

    [10:01:14.200] LMSGetLastError() returned '405' in 0 seconds

    [10:01:14.200] LMSGetErrorString('405') returned 'Incorrect Data Type' in 0 seconds

    [10:01:14.200] LMSGetDiagnostic('') returned 'cmi.interactions.n.student_response must be a valid CMIFeedback - value must be consistent with interaction type. Your value is: PSD_stop_you_from_physically_entering_a_dangerous_area.' in 0 seconds

- [10:01:14.200] LMSSetValue('cmi.interactions.3.student_response', 'p') returned 'true' in 0 seconds

[10:01:14.200] CheckForSetValueError (cmi.interactions.3.student_response, p, cmi.interactions.n.student_response, 3, )

[10:01:14.200] Element is: interactions.student_response

[10:01:14.200] Call is error free.

[10:01:14.200] StoreValue (cmi.interactions.3.student_response, p, cmi.interactions.n.student_response, 3, )

[10:01:14.200] Element is: interactions.student_response

- [10:01:14.200] LMSSetValue('cmi.interactions.3.correct_responses.0.pattern', 'PSD_are_used_to_keep_associates_away_from_moving_equipment.') returned 'false' in 0 seconds

[10:01:14.200] CheckForSetValueError (cmi.interactions.3.correct_responses.0.pattern, PSD_are_used_to_keep_associates_away_from_moving_equipment., cmi.interactions.n.correct_responses.n.pattern, 3, 0)

[10:01:14.200] Element is: interactions.correct responses.pattern

[10:01:14.200] SCORM ERROR FOUND - Set Error State: 405 - cmi.interactions.n.correct_responses.n.pattern must be a valid CMIFeedback - value must be consistent with interaction type. Your value is: PSD_are_used_to_keep_associates_away_from_moving_equipment.

    [10:01:14.200] LMSGetLastError() returned '405' in 0 seconds

    [10:01:14.200] LMSGetErrorString('405') returned 'Incorrect Data Type' in 0 seconds

    [10:01:14.200] LMSGetDiagnostic('') returned 'cmi.interactions.n.correct_responses.n.pattern must be a valid CMIFeedback - value must be consistent with interaction type. Your value is: PSD_are_used_to_keep_associates_away_from_moving_equipment.' in 0 seconds

- [10:01:14.200] LMSSetValue('cmi.interactions.3.correct_responses.0.pattern', 'p') returned 'true' in 0 seconds

[10:01:14.200] CheckForSetValueError (cmi.interactions.3.correct_responses.0.pattern, p, cmi.interactions.n.correct_responses.n.pattern, 3, 0)

[10:01:14.200] Element is: interactions.correct responses.pattern

[10:01:14.200] Call is error free.

[10:01:14.200] StoreValue (cmi.interactions.3.correct_responses.0.pattern, p, cmi.interactions.n.correct_responses.n.pattern, 3, 0)

[10:01:14.200] Element is: interactions.correct_responses.pattern

- [10:01:14.200] LMSSetValue('cmi.interactions.3.result', 'wrong') returned 'true' in 0 seconds

[10:01:14.200] CheckForSetValueError (cmi.interactions.3.result, wrong, cmi.interactions.n.result, 3, )

[10:01:14.200] Element is: interactions.result

[10:01:14.200] Call is error free.

[10:01:14.200] StoreValue (cmi.interactions.3.result, wrong, cmi.interactions.n.result, 3, )

[10:01:14.200] Element is: interactions.result

- [10:01:14.200] LMSSetValue('cmi.interactions.3.weighting', '10') returned 'true' in 0 seconds

[10:01:14.200] CheckForSetValueError (cmi.interactions.3.weighting, 10, cmi.interactions.n.weighting, 3, )

[10:01:14.200] Element is: interactions.weighting

[10:01:14.200] Call is error free.

[10:01:14.200] StoreValue (cmi.interactions.3.weighting, 10, cmi.interactions.n.weighting, 3, )

[10:01:14.200] Element is: interactions.weighting

- [10:01:14.200] LMSSetValue('cmi.interactions.3.latency', '0000:06:05.31') returned 'true' in 0 seconds

[10:01:14.200] CheckForSetValueError (cmi.interactions.3.latency, 0000:06:05.31, cmi.interactions.n.latency, 3, )

[10:01:14.200] Element is: interactions.latency

[10:01:14.200] Call is error free.

[10:01:14.200] StoreValue (cmi.interactions.3.latency, 0000:06:05.31, cmi.interactions.n.latency, 3, )

[10:01:14.200] Element is: interactions.latency

- [10:01:14.200] LMSSetValue('cmi.interactions.3.objectives.0.id', '01.3_Industrial_Machinery_Concepts_and_Risks-07') returned 'true' in 0 seconds

[10:01:14.200] CheckForSetValueError (cmi.interactions.3.objectives.0.id, 01.3_Industrial_Machinery_Concepts_and_Risks-07, cmi.interactions.n.objectives.n.id, 3, 0)

[10:01:14.200] Element is: interactions.objectives.id

[10:01:14.200] Call is error free.

[10:01:14.200] StoreValue (cmi.interactions.3.objectives.0.id, 01.3_Industrial_Machinery_Concepts_and_Risks-07, cmi.interactions.n.objectives.n.id, 3, 0)

[10:01:14.200] Element is: interactions.objectives.id

- [10:01:14.200] LMSSetValue('cmi.interactions.3.time', '10:01:14') returned 'true' in 0 seconds

[10:01:14.200] CheckForSetValueError (cmi.interactions.3.time, 10:01:14, cmi.interactions.n.time, 3, )

[10:01:14.200] Element is: interactions.time

[10:01:14.200] Call is error free.

[10:01:14.200] StoreValue (cmi.interactions.3.time, 10:01:14, cmi.interactions.n.time, 3, )

[10:01:14.200] Element is: interactions.time

With zero experience, it looks like when the student response is sent, the module is just sending the text of the answer instead of the object name/title for that response?

It then tries again and sends a single letter that does parse correctly?

I don't know what's going on. Thoughts?

This is the whole log

https://app.cloud.scorm.com/sc/guest/ViewDebugLog?logId=3b1e014f-cdd5-40e3-a28a-a8eda40ae5f1&courseTitle=01.3+Industrial+Machinery+Concepts+and+Risks-07

I'm new to e-learning development and am the one building best practices for my team (we mostly did different deliverables until now), so please excuse me if I'm missing something obvious.

2 Replies

  • AndrewKrahn's avatar
    AndrewKrahn
    Community Member

    I've re-exported the module using my current install of Storyline with the same results.

    • EricSantos's avatar
      EricSantos
      Staff

      Hi AndrewKrahn,

      You’re right on track with your analysis! The log shows that Storyline first sends the full text of the learner’s answer, which SCORM 1.2 flags as invalid, before retrying with the correct identifier. That behavior can lead to the missing score you’re seeing on the first attempt.

      If your LMS supports it, try publishing as SCORM 2004 (3rd or 4th Edition) since it handles interaction data more smoothly. It’s also worth confirming that your results slide includes the default “Submit results when the timeline starts on this slide” trigger, and that learners reach that slide before exiting the course.

      Thanks so much for sharing such a detailed description and the logs. That level of troubleshooting really helps us pinpoint what’s happening. If the issue continues, you can share your Storyline file here or connect directly with our support team so we can take a closer look and help troubleshoot further.