server.
A web service for Radio is written in UserTalk, Frontier/Radio's scripting language.
The script's source text file, when dropped in the Web Services subfolder of Radio's application folder, is automatically compiled and stored into the Radio.root object database, in the user.betty.rpcHandlers.radio (XML-RPC) and user.soap.rpcHandlers.radio (SOAP) tables.
The agent responsible for the scanning and compilling is builtins.radio.thread.agents.watchMacros(). It is scheduled every 10 seconds or so. As of the current version, it can be spooked by the .DS_Store invisible file that may appear in the Web Services folder in MacOS X. Deleting .DS_Store keeps it happy. Invalid UserTalk scripts fail compiling and are not integrated.
When making modifications to a script that is already compiled in Radio.root, it is better to manually delete the existing version in user.betty.rpcHandlers.radio and user.soap.rpcHandlers.radio. If valid, the updated version is compiled within the next 10 seconds.
To call the web service from a Radio macro, use something like <%params = {parameters_list}; xml.rpc ("127.0.0.1", 5335, "radio.script_name", @params)%> or <%params = {parameters_list}; soap ("127.0.0.1", 5335, "radio.script_name", @params)%>.
It is of course possible to make calls from other systems, provided the system running Radio is accessible by TCP/IP.
My main sources of information were Dave's tutorial, Jon's subscriptions displayservice and the Radio-dev discussion group.
8:49:38 PM Google It!