Monday, November 08, 2010 at 12:02 AM.

system.verbs.builtins.Frontier.protocols.xmlrpc

on xmlrpc (rpcServer, procedureName, paramlist) {
	<<Changes
		<<11/7/07; 9:48:36 AM by DW
			<<Don't show messages in the About window.
		<<3/22/02; 7:31:18 PM by DW
			<<Bug fix, the path was not being passed to betty.rpc.client.
			<<The only path that could have worked is "/RPC2", since that's the default that betty.rpc.client uses. 
			<<Now we pass the path, and to ensure there's no breakage of existing code, we make sure the path begins with a forward slash.
		<<2/6/02; 8:46:44 AM by DW
			<<Created.
	local (urllist = string.urlSplit (rpcServer));
	local (server = urllist [2], port = 80, rpcPath = urllist [3]);
	if server contains ":" {
		port = string.nthField (server, ':', string.countFields (server, ':'));
		server = string.popSuffix (server, ':')};
	if not (rpcPath beginswith "/") {
		rpcPath = "/" + rpcPath};
	if not defined (user.betty.prefs.flMessages) { //11/7/07 by DW
		user.betty.prefs.flMessages = false};
	return (betty.rpc.client (server, port, procedureName, @paramlist, rpcPath: rpcPath, fldebug:false, flShowMessages:user.betty.prefs.flMessages))}
<<bundle //test code
	<<dialog.alert (["xmlrpc://time.xmlrpc.com/RPC2"].currentTime.getCurrentTime ())



This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.