require 'soap/rpc/driver'

server = ARGV.shift || 'http://localhost:7000/'
# server = 'http://localhost:8808/server.cgi'

calc = SOAP::RPC::Driver.new(server, 'http://tempuri.org/calcService')
calc.wiredump_dev = STDERR if $DEBUG
calc.add_method('add', 'lhs', 'rhs')
calc.add_method('sub', 'lhs', 'rhs')
calc.add_method('multi', 'lhs', 'rhs')
calc.add_method('div', 'lhs', 'rhs')

puts 'add: 1 + 2	# => 3'
puts calc.add(1, 2)
puts 'sub: 1.1 - 2.2	# => -1.1'
puts calc.sub(1.1, 2.2)
puts 'multi: 1.1 * 2.2	# => 2.42'
puts calc.multi(1.1, 2.2)
puts 'div: 5 / 2	# => 2'
puts calc.div(5, 2)
puts 'div: 5.0 / 2	# => 2.5'
puts calc.div(5.0, 2)
puts 'div: 1.1 / 0	# => Infinity'
puts calc.div(1.1, 0)
puts 'div: 1 / 0	# => ZeroDivisionError'
puts calc.div(1, 0)
