Class: Amazon::WebServices::Util::SOAPTransport
- Inherits:
-
Object
- Object
- Amazon::WebServices::Util::SOAPTransport
- Defined in:
- lib/amazon/webservices/util/soap_transport.rb
Constant Summary collapse
- REQUIRED_PARAMETERS =
[:Wsdl]
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(args) ⇒ SOAPTransport
constructor
A new instance of SOAPTransport.
- #method_missing(method, *args) ⇒ Object
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
16 17 18 |
# File 'lib/amazon/webservices/util/soap_transport.rb', line 16 def self.canSOAP? SOAP::Version >= "1.5.5" end |