 
 This page contains automated test results for code from O'Reilly's Ruby Cookbook. If this code looks interesting or useful, you might want to buy the whole book.
| Writing an XML-RPC Client (written by John-Mason Shackelford) | ||
|---|---|---|
| Code | Expected | Actual | 
| require 'xmlrpc/client'
server = XMLRPC::Client.new2('http://betty.userland.com/RPC2')
server.call('examples.getStateName', 5) | "California" | "California" | 
| begin
  server.call('noSuchMethod')
rescue XMLRPC::FaultException => e
  puts "Error: fault code #{e.faultCode}"
  puts e.faultString
end | Error: fault code 7 Can't evaluate the expression because the name "noSuchMethod" hasn't been defined. | Error: fault code 7 Can't evaluate the expression because the name "noSuchMethod" hasn't been defined. | 
| def lookup_upc(upc)
  server = XMLRPC::Client.new2('http://www.upcdatabase.com/rpc')
  begin
    response = server.call('lookupUPC', upc)   
    return response['found'] ? response : nil
  rescue XMLRPC::FaultException => e
    puts "Error: "
    puts e.faultCode
    puts e.faultString
  end
end
product = lookup_upc('018787765654')
product['description'] | "Dr Bronner's Peppermint Oil Soap" | "Dr Bronner's Peppermint Oil Soap" | 
| product['size'] | "128 fl oz" | "128 fl oz" | 
| lookup_upc('no such UPC') | nil | nil |