(XML-RPC HOWTO のこの章は Michael Neumann が気前よく 提供してくれました。)
Ruby はオブジェ クト指向スクリプト言語です。既に日本では多くの愛好者がおり、他所でも 人気が出つつあります。
Ruby で XML-RPC を使うには、初めに吉田正人の xmlparser モジュー ル (James Clark の expat parser 用ラッパー) をインストールしなければ なりません。これは Ruby Application Archive で見つけられます。
そして次のコマンドを使って xmlrpc4r をインストールしなければなりません。
bash$ tar -xvzf xmlrpc4r-1_2.tar.gz bash$ cd xmlrpc4r-1_2 bash$ su root -c "ruby install.rb" |
単純な Ruby クライアントを示します -
require "xmlrpc/client" # Make an object to represent the XML-RPC server. server = XMLRPC::Client.new( "xmlrpc-c.sourceforge.net", "/api/sample.php") # Call the remote server and get our result result = server.call("sample.sumAndDifference", 5, 3) sum = result["sum"] difference = result["difference"] puts "Sum: #{sum}, Difference: #{difference}" |
単純な Ruby サーバを示します -
require "xmlrpc/server" s = XMLRPC::CGIServer.new s.add_hanlder("sample.sumAndDifference") do |a,b| { "sum" => a + b, "difference" => a - b } end s.serve |
また、次のように書くこともできます。
require "xmlrpc/server" s = XMLRPC::CGIServer.new class MyHandler def sumAndDifference(a, b) { "sum" => a + b, "difference" => a - b } end end s.add_handler("sample", MyHandler.new) s.serve |
どちらのサーバも独立型で実行するには、プログラムの二行目を
s = XMLRPC::Server.new(8080) |
に書きかえてください。