ads_savon/lib/ads_savon/client.rb
def request(*args, &block)
      raise ArgumentError, "GoogleAdsSavon::Client#request requires at least one argument" if args.empty?

      options = extract_options(args)

      request_builder = SOAP::RequestBuilder.new(options.delete(:input), options)
      request_builder.wsdl = wsdl
      request_builder.http = http.dup
      request_builder.wsse = wsse.dup
      request_builder.config = config.dup

      post_configuration = lambda { process(0, request_builder, &block) if block }

      response = request_builder.request(&post_configuration).response
      http.set_cookies(response.http)

      if wsse.verify_response
        WSSE::VerifySignature.new(response.http.body).verify!
      end

      response
    end
def request(*args, &block)
      raise ArgumentError, "GoogleAdsSavon::Client#request requires at least one argument" if args.empty?

      options = extract_options(args)

      request_builder = SOAP::RequestBuilder.new(options.delete(:input), options)
      request_builder.wsdl = wsdl
      request_builder.http = http.dup
      request_builder.wsse = wsse.dup
      request_builder.config = config.dup

      post_configuration = lambda { process(0, request_builder, &block) if block }

      response = request_builder.request(&post_configuration).response
      http.set_cookies(response.http)

      if wsse.verify_response
        WSSE::VerifySignature.new(response.http.body).verify!
      end

      response
    end
def request ( * args , & block ) raise ArgumentError , "GoogleAdsSavon::Client#request requires at least one argument" if args . empty? options = extract_options ( args ) request_builder = SOAP :: RequestBuilder . new ( options . delete ( :input ) , options ) request_builder . wsdl = wsdl request_builder . http = http . dup request_builder . wsse = wsse . dup request_builder . config = config . dup post_configuration = lambda { process ( 0 , request_builder , block ) if block } response = request_builder . request ( post_configuration ) . response http . set_cookies ( response . http ) if wsse . verify_response WSSE :: VerifySignature . new ( response . http . body ) . verify! end response end
Executes a SOAP request for a given SOAP action. Accepts a +block+ which is evaluated in the
 context of the <tt>SOAP::RequestBuilder</tt> object to let you access its +soap+, +wsdl+,
 +http+ and +wsse+ methods.

 == Examples

   # Calls a "getUser" SOAP action with the payload of "<userId>123</userId>"
   client.request(:get_user) { soap.body = { :user_id => 123 } }

   # Prefixes the SOAP input tag with a given namespace: "<wsdl:GetUser>...</wsdl:GetUser>"
   client.request(:wsdl, "GetUser") { soap.body = { :user_id => 123 } }

   # SOAP input tag with attributes: <getUser xmlns:wsdl="http://example.com">...</getUser>"
   client.request(:get_user, "xmlns:wsdl" => "http://example.com")
Executes a SOAP request for a given SOAP action . Accepts a + block + which is evaluated in the context of the <tt > SOAP :: RequestBuilder< / tt > object to let you access its + soap + + wsdl + + http + and + wsse + methods .