Class: Savon::SOAP::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/savon/soap/request.rb

Overview

= Savon::SOAP::Request

Executes SOAP requests.

Constant Summary collapse

CONTENT_TYPE =

Content-Types by SOAP version.

{ 1 => "text/xml;charset=UTF-8", 2 => "application/soap+xml;charset=UTF-8" }

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config, http, soap) ⇒ Request

Expects an HTTPI::Request, a Savon::SOAP::XML object and a Savon::Config.



23
24
25
26
27
# File 'lib/savon/soap/request.rb', line 23

def initialize(config, http, soap)
  self.config = config
  self.soap = soap
  self.http = configure(http)
end

Instance Attribute Details

#configObject

Returns the value of attribute config.



29
30
31
# File 'lib/savon/soap/request.rb', line 29

def config
  @config
end

#httpObject

Returns the value of attribute http.



29
30
31
# File 'lib/savon/soap/request.rb', line 29

def http
  @http
end

#soapObject

Returns the value of attribute soap.



29
30
31
# File 'lib/savon/soap/request.rb', line 29

def soap
  @soap
end

Class Method Details

.execute(config, http, soap) ⇒ Object

Expects an HTTPI::Request and a Savon::SOAP::XML object to execute a SOAP request and returns the response.



17
18
19
# File 'lib/savon/soap/request.rb', line 17

def self.execute(config, http, soap)
  new(config, http, soap).response
end

Instance Method Details

#responseObject

Executes the request and returns the response.



32
33
34
35
36
37
# File 'lib/savon/soap/request.rb', line 32

def response
  @response ||= begin
    response = config.hooks.fire(:soap_request, self) { with_logging { HTTPI.post(http) } }
    SOAP::Response.new(config, response)
  end
end