Sha256: 421039674aac15e97d9c4fe8a9fcba2dfa7a7eadc1dd6e7fd8a635a7d598fe15

Contents?: true

Size: 957 Bytes

Versions: 1

Compression:

Stored size: 957 Bytes

Contents

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

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
soapex-0.1 lib/soapex/driver.rb