Class: Savon::SOAPFault

Inherits:
Error
  • Object
show all
Defined in:
lib/savon/soap_fault.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(http, nori) ⇒ SOAPFault

Returns a new instance of SOAPFault.



14
15
16
17
# File 'lib/savon/soap_fault.rb', line 14

def initialize(http, nori)
  @http = http
  @nori = nori
end

Instance Attribute Details

#httpObject (readonly)

Returns the value of attribute http.



19
20
21
# File 'lib/savon/soap_fault.rb', line 19

def http
  @http
end

#noriObject (readonly)

Returns the value of attribute nori.



19
20
21
# File 'lib/savon/soap_fault.rb', line 19

def nori
  @nori
end

Class Method Details

.present?(http) ⇒ Boolean

Returns:

  • (Boolean)


6
7
8
9
10
11
12
# File 'lib/savon/soap_fault.rb', line 6

def self.present?(http)
  fault_node  = http.body.include?("Fault>")
  soap1_fault = http.body.include?("faultcode>") && http.body.include?("faultstring>")
  soap2_fault = http.body.include?("Code>") && http.body.include?("Reason>")

  fault_node && (soap1_fault || soap2_fault)
end

Instance Method Details

#to_hashObject



26
27
28
29
# File 'lib/savon/soap_fault.rb', line 26

def to_hash
  parsed = nori.parse(@http.body)
  nori.find(parsed, 'Envelope', 'Body')
end

#to_sObject



21
22
23
24
# File 'lib/savon/soap_fault.rb', line 21

def to_s
  fault = nori.find(to_hash, 'Fault')
  message_by_version(fault)
end