Web Service Access Control Exception
If you are creating or using a web service in Moodle and see the following message:
{
"exception": "webservice_access_exception",
"errorcode": "accessexception",
"message": "Access control exception"
}
It can be a bit hard to troubleshoot. Generally there is a 4th item with debugging info, but this will only appear if you have the correct Moodle debugging level set:
At minimum you’ll need to set debug level to NORMAL
: Show errors, warnings and notices. That is, it won’t apear if you have it set to NONE
or MINIMAL
.
Once you do that you should get that 4th parameter:
{
"exception": "webservice_access_exception",
"errorcode": "accessexception",
"message": "Access control exception",
"debuginfo": "You are not allowed to use the {$a} protocol (missing capability: webservice/rest:use)"
}
In this example, the user that is associated with the web service token didn’t have the capability webservice/rest:use
in their system role. Adding the capability to the role fixed the issue.
No Comments