RUBY 实现SOAP

本文介绍了如何使用Ruby实现SOAP服务端和客户端。通过创建一个名为MySOAP的模块,包含了Timer和Add两个类,实现了获取当前时间及加法运算的功能。服务端启动后,客户端可以调用这些方法进行交互,例如获取服务器当前时间并进行简单的加法计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SOAP 服务端:

#!/usr/local/bin/ruby
require 'soap/rpc/standaloneServer'

module MySOAP
 class Timer
  def now
   Time.new.strftime("%Y-%m-%d %H:%M:%S")
  end
 end
 class Add
   def add(i, j)
  return i.to_i + j.to_i
   end
 end
end

class TimeServer < SOAP::RPC::StandaloneServer
 def on_init
  time = MySOAP::Timer.new
  add = MySOAP::Add.new
  add_method(time,"now")
  add_method(add,"add")
 end
end

NS = 'http://localhost/soap'
port = 4000
svr = TimeServer.new('timer',NS,'0.0.0.0',port)

trap('INT') { svr.shutdown }

puts "My SOAP is starting... port:#{port} (Ctrl+c to quit)"

svr.start

puts "My SOAP is stop."

 

SOAP客户端:

require 'soap/rpc/driver'

proxy = SOAP::RPC::Driver.new("http://localhost:4000","http://localhost/soap")

proxy.add_method('now')

proxy.add_method('add','i','j')

puts "Server time now is : #{proxy.now}"

puts "9 + 2000 = #{proxy.add(9,2000)}"

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值