Class: Amazon::WebServices::Util::SOAPTransport

Inherits:
Object
  • Object
show all
Defined in:
lib/amazon/webservices/util/soap_transport.rb

Constant Summary collapse

REQUIRED_PARAMETERS =
[:Wsdl]

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args) ⇒ SOAPTransport

Returns a new instance of SOAPTransport.



20
21
22
23
24
25
26
27
28
# File 'lib/amazon/webservices/util/soap_transport.rb', line 20

def initialize( args )
  raise "SOAP version 1.5.5+ (included in Ruby 1.8.3+) required to use SOAP Transport" unless SOAPTransport::canSOAP?

  missing_parameters = REQUIRED_PARAMETERS - args.keys
  raise "Missing paramters: #{missing_parameters.join(',')}" unless missing_parameters.empty?
  @driver = SOAP::WSDLDriverFactory.new( args[:Wsdl] ).create_rpc_driver
  @driver.endpoint_url = args[:Endpoint] unless args[:Endpoint].nil?
  @driver.headerhandler << SOAPTransportHeaderHandler.new('http://amazonaws.com/header', 'X-Amazon-Software', RubyAWS::agent(args[:SoftwareName]) )
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args) ⇒ Object



30
31
32
# File 'lib/amazon/webservices/util/soap_transport.rb', line 30

def method_missing( method, *args )
  SOAPSimplifier.simplify @driver.send( method, *args )
end

Class Method Details

.canSOAP?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/amazon/webservices/util/soap_transport.rb', line 16

def self.canSOAP?
  SOAP::Version >= "1.5.5"
end