XML-RPC Client is a free Cocoa-based developer tool for Mac OS X Tiger that allows you to access and debug XML-RPC web services from the comfort of your desktop.
Using XML-RPC Client is insanely easy.

Upon completing the function call you will see three groups of information in the main tabbed display:
To specify params, you can use JavaScript syntax. For example, say you had a function that accepted a single string argument. You would write the following in the "Params" text area:
"my arg"
or
'my arg'
If you had a function that accepts two arguments of type integer and boolean:
42, true
If you had a function that accepts a single array argument containing integers:
[1, 2, 3]
A function that accepts a single struct argument:
{name: 'Todd', age: 27, jobs:['developer', 'exotic dancer']}
Note that unlike Python, the struct keys are not quoted.
New in version 1.6:
New in version 1.5:
New in version 1.4:
[] or new Array()) would be converted to an XML-RPC struct. It is now correctly reported as an empty XML-RPC array data type.So how do you specify parameters with these data types? Simple.
For the dateTime.iso8601 data type, you use the simple JavaScript Date class in the params text area. For example, if you wanted to call an XML-RPC function with a single param of type dateTime.iso8601 with a value of today's date, you would type the following in the params text area:
new Date()
This would result in something like the following raw XML param:
<dateTime.iso8601>
20051129T18:13:48
</dateTime.iso8601>
For October 26, 1977, you could type any of the following (depending on your locale settings):
new Date("10/26/77") // you might have to reverse the month/day if your default locale is not US
new Date("1977/10/26")
new Date("October 26, 1977")
Resulting raw XML:
<dateTime.iso8601>
19771026T00:00:00
</dateTime.iso8601>
This is standard JavaScript syntax for dates. If you have any questions about the syntax, it's probably best to just check a JavaScript reference book such as my personal favorite: JavaScript: The Definitive Guide.
Support for the XML-RPC base64 data type is also implemented! As I mentioned this is really cool...
Say you want to send a base64 param with the string value of "yo dude". You need this to be encoded into base64 as part of the process:
new Base64Encode("yo dude")
Note that the JavaScript data type used is Base64Encode. This data type not only creates a base64 param out of your string value, it also encodes your string value in the process.
Here's the resulting XML with the string value encoded that will be sent across the pipes:
<base64>
eW8gZHVkZQ==
</base64>
So say you have already attained the encoded value for this string (or an image or whatever). You just want that literal value to show up inside the base64 element in the XML request... you don't want the string value re-encoded again. In that case you use the plain old Base64 custom class in your param string:
new Base64("eW8gZHVkZQ==")
You will once again see this in the raw XML request:
<base64>
eW8gZHVkZQ==
</base64>
New in version 1.3:
<fault> element using XPath. In 1.3, I'm now just using Apple's NSXML SAX-like event parser to parse the first two elements of the response XML looking for one named <fault>. This is significantly more efficient for large response documents that don't contain faults.New in version 1.2 -- configure success and failure sounds through the Preferences pane.
New in Version 1.1 -- increased application stability, UI response times, and error reporting for param parse errors when you've entered invalid syntax into the params text area.
XML-RPC Client requires Mac OS X 10.4 Tiger or later.
XML-RPC Client is developed by Todd Ditchendorf. Have feedback? Email me.
Special thanks for help with this app go to two people:
eval the XML-RPC param string -- allowing arbitrarily complex parameter passing with little fuss.