- 论坛徽章:
- 0
|
Ruby 编写 XMLRPC 服务- require "xmlrpc/server"
- class Num
- INTERFACE = XMLRPC::interface("num") {
- meth 'int add(int, int)', 'Add two numbers', 'add'
- meth 'int div(int, int)', 'Divide two numbers'
- }
- def add(a, b) a + b end
- def div(a, b) a / b end
- end
- server = XMLRPC::Server.new(8080, "0.0.0.0")
- server.add_handler(Num::INTERFACE, Num.new)
- server.serve
复制代码 Ruby 调用 XML RPC 服务- 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']
- product['size']
- lookup_upc('no such UPC')
复制代码 |
|