I've got an xml-rpc module that can that can be used by an external client to make a course announcement. (Side note: Any interest in making this a built-in service in Moodle?)
In Moodle 1.9.5, set up was:
- Copy my rpclilb.php to .../htdocs/moodle/mod/forum
- Add name and description entries to .../htdocs/moodle/lang/en_utf8/forum.php
- Enable networking and add the client's IP address to the XML-RPC trusted hosts.
I recently tried my module with 1.9.9 and initially it did not work. After tracing error codes to the source and backtracking, I found that mnet/lib.php:mnet_permit_rpc_call() needs some entries in tables mnet_host2service, mnet_service, mnet_service2rpc, and mnet_rpc. I put these in and my module works. With 1.9.9, is there a UI or automated way of making these table entries?
I also tried 2.0 RC1 and have had no success getting my module working. I followed the above steps and also tried to follow this thinking the various mnet_ table entries would be created automatically. I end up with Fault 7021: 'The transport method you are trying to use is not permitted.' The snag seems to be with mnet/remote_client.php:plaintext_is_ok() which does not recognize my box as a trusted host. If I hack plaintext_is_ok() to return true, I get Fault 711: 'The signature verification failed.' Do all XML-RPC client calls need to be signed now, and if so, how?
Are there any XML-RCP server and client samples for 2.0?
Thanks in advance for any help!