【问题标题】:Moodle custom service creation issueMoodle 自定义服务创建问题
【发布时间】:2016-08-11 08:24:15
【问题描述】:

我正在尝试为我的功能增强创建 Moodle 自定义服务

1 ) https://docs.moodle.org/dev/External_functions_API
2 ) https://docs.moodle.org/dev/Adding_a_web_service_to_a_plugin

根据这些文档更新服务模块。创建服务模块和external_lib.php 文件。 但是我在访问 Web 服务 API 时出错了

错误: {“异常”:“dml_missing_record_exception”,“错误代码”:“无效记录”,“消息” :"在数据库表external_functions中找不到数据记录。"}

启用调试模式并再次尝试。它显示外部函数注册错误。

{"exception":"dml_missing_record_exception","errorcode":"invalidrecord","mess    age"
:"Can not find data record in database table     external_functions.","debuginfo":"SELECT * FROM {external_functions
} WHERE name = ?\n[array (\n  0 => 'local_enroll_course',\n)]"}    

如何在 Moodle 中注册新创建的服务?请帮忙

【问题讨论】:

  • 你在 db/services.php 中添加了函数的描述吗? (我已经这样做了,但我收到了相同的错误消息。)你解决了这个问题吗?如果你这样做了,如果你在这里发布答案会非常有帮助。
  • Hi Yvonne,如果我们在服务模块内部进行了任何更改,需要更新数据库,所以在编辑服务模块后保存文件并再次登录moodle。所以我们得到了更新数据库的选项。这需要几分钟,更新后我们可以使用的所有功能。你可以试试这个

标签: moodle moodle-api moodle-mobile


【解决方案1】:

您需要在 version.php 中增加您的版本号,然后转到 Moodle 中的通知并运行升级。然后 Moodle 会识别你添加到 externallib.php 和 db/services.php 中的新函数

【讨论】:

  • 感谢您的回答
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-15
  • 2020-10-02
  • 1970-01-01
  • 2013-07-18
相关资源
最近更新 更多