require 'soap/rpc/driver' require 'soap/header/simplehandler' module SOAP::MultiService class Driver < SOAP::RPC::Driver class HeaderHandler < SOAP::Header::SimpleHandler def initialize(tag, value) super(XSD::QName.new(nil, tag)) @tag = tag @value = value end # The initial handler from the sample was wrong, # it generated 2 level of tags def on_simple_outbound @value end end def setHeaders(header_hash) header_hash.map do |key, value| self.headerhandler << \ SOAP::MultiService::Driver::HeaderHandler.new(key.to_s, value) end end def prepare(headers, endpoint=nil) self.proxy.endpoint_url = endpoint if endpoint setHeaders(headers) (self.wiredump_dev = STDOUT) if $DEBUG self.options['protocol.http.ssl_config.verify_mode'] = nil (self.wiredump_file_base = "debug") if $DEBUG end end end