Method: Soaspec::SoapHandler#make_request

Defined in:
lib/soaspec/exchange_handlers/soap_handler.rb

#make_request(request_parameters) ⇒ Object

Used in together with Exchange request that passes such override parameters

Parameters:

  • request_parameters (Hash)

    Parameters used to overwrite defaults in request



94
95
96
97
98
99
100
101
102
103
104
105
106
107
# File 'lib/soaspec/exchange_handlers/soap_handler.rb', line 94

def make_request(request_parameters)
  test_values = request_body_params request_parameters
  # Call the SOAP operation with the request XML provided
  begin
    if @request_option == :template
      test_values = IndifferentHash.new(test_values) # Allow test_values to be either Symbol or String
      client.call(operation, xml: Soaspec::TemplateReader.new.render_body(template_name, binding))
    elsif @request_option == :hash
      client.call(operation, message: @default_hash.merge(test_values), attributes: request_root_attributes)
    end
  rescue Savon::HTTPError => soap_error
    soap_error
  end
end