Table of Contents

Developing & Testing Web Services in Moodle

A Web Service is conceptually easy, but surprisingly hard to develop and especially test. Here's a quick primer for the development side of things. Moodle also offers a very incomplete 'Web service test client' as well as an embedded version of the 'AMF test client'. The AMF test client didn't work for me: it kept spewing errors where other test methods yielded perfectly fine results.

So, there are no suitable testing environments inside Moodle for testing web services.

Testing Moodle Web Services

To start with, configure your Moodle to use web services: go to the /admin/settings.php?section=webservicesoverview url and follow the steps.

Then, you can script your own tests, of course. Use the local wstemplate plugin as an example.

Or use one of these:

Test in Postman

Once installed, Postman is available through the 'Apps' section of Chrome: go to the url

chrome://apps/

and click on the Postman icon.

To perform a test, type in a url (you can also use the URL Params tab), e.g.:

http://mymoodle/webservice/rest/server.php?wstoken=05260192_my_secret_token_ecd2d2b&wsfunction=myplugin_api_courses_get_active_courses_by_username&username=testuser11

Common Pitfalls