You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复SCORM的LMSSetValue类型不匹配错误及排查ServiceNow兼容性

SCORM包在ServiceNow LMS中报错的调试与兼容性检查方案

一、先确定SCORM版本

解压SCORM包,找到根目录下的imsmanifest.xml文件,查看根节点的命名空间:

  • 包含http://www.adlnet.org/xsd/scorm/1.2 → SCORM 1.2
  • 包含http://www.adlnet.org/xsd/scorm_2004 → SCORM 2004

二、调试CMI_Completion_Status的方法

1. 浏览器开发者工具抓包追踪

  • 在ServiceNow中打开课程,按F12唤起开发者工具
  • 切换到「控制台」标签,勾选「保留日志」
  • 操作课程至触发错误,在控制台搜索LMSSetValue,能直接看到传入的状态值内容

2. 直接查看SCORM包内代码

  • 解压包后,找到核心交互JS文件(常见命名为scorm_api.js、lms_api.js或课程自定义脚本)
  • 搜索CMI_Completion_Status、cmi.completion_status或SetValue关键词,定位设置状态值的代码行,即可看到硬编码的状态内容

3. 本地SCORM测试环境监控

  • 搭建轻量本地SCORM测试环境(比如使用开源的SCORM调试工具)
  • 将SCORM包导入测试环境,运行时监控所有LMS API调用,直接捕获CMI_Completion_Status的设置值

三、ServiceNow LMS兼容性检查

1. 对照官方规范确认合法值

ServiceNow支持SCORM 1.2和2004,两种版本的合法状态值要求:

  • SCORM 1.2:cmi.core.lesson_status的合法值为passed、completed、failed、incomplete、browsed、not attempted
  • SCORM 2004:cmi.completion_status的合法值为completed、incomplete、not attempted

2. 手动修改测试

  • 找到SCORM包中设置状态值的代码,将值改为ServiceNow认可的标准格式(统一小写completed等)
  • 重新打包SCORM包,上传至ServiceNow验证是否解决报错

3. 启用ServiceNow LMS调试日志

  • 导航到ServiceNow的「学习管理 > 系统属性」,启用「调试SCORM API」选项
  • 运行课程后查看日志,获取更详细的API交互错误细节,精准定位问题

内容的提问来源于stack exchange,提问作者noniguez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 15:27:15