Sha256: b9bf7ed6b310613beb64b7c2b5de7c7a7de011d3e5aa4f6686c0f7aa961c092c
Contents?: true
Size: 950 Bytes
Versions: 7
Compression:
Stored size: 950 Bytes
Contents
require 'soap/rpc/driver' require 'soap/header/simplehandler' server = ARGV.shift || 'http://localhost:7000/' class ClientAuthHeaderHandler < SOAP::Header::SimpleHandler MyHeaderName = XSD::QName.new("http://tempuri.org/authHeader", "auth") def initialize(userid, passwd) super(MyHeaderName) @sessionid = nil @userid = userid @passwd = passwd @mustunderstand = true end def on_simple_outbound if @sessionid { "sessionid" => @sessionid } else { "userid" => @userid, "passwd" => @passwd } end end def on_simple_inbound(my_header, mustunderstand) @sessionid = my_header["sessionid"] end end ns = 'http://tempuri.org/authHeaderPort' serv = SOAP::RPC::Driver.new(server, ns) serv.add_method('deposit', 'amt') serv.add_method('withdrawal', 'amt') serv.headerhandler << ClientAuthHeaderHandler.new('NaHi', 'passwd') serv.wiredump_dev = STDOUT p serv.deposit(150) p serv.withdrawal(120)
Version data entries
7 entries across 7 versions & 2 rubygems