Sha256: cf7399d44925483fb30309e5f2d365a1b7f6833e2c343e0c438a017502302b33
Contents?: true
Size: 853 Bytes
Versions: 5
Compression:
Stored size: 853 Bytes
Contents
require "savon" module Savon class SOAPFault < Error 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 def initialize(http, nori) @http = http @nori = nori end attr_reader :http, :nori def to_s message_by_version to_hash[:fault] end def to_hash nori.parse(@http.body)[:envelope][:body] end private def message_by_version(fault) if fault[:faultcode] "(#{fault[:faultcode]}) #{fault[:faultstring]}" elsif fault[:code] "(#{fault[:code][:value]}) #{fault[:reason][:text]}" end end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
savon-2.1.0 | lib/savon/soap_fault.rb |
savon-2.0.3 | lib/savon/soap_fault.rb |
savon-2.0.2 | lib/savon/soap_fault.rb |
savon-2.0.1 | lib/savon/soap_fault.rb |
savon-2.0.0 | lib/savon/soap_fault.rb |