class LolSoap::Response
Attributes
doc[R]
request[R]
Public Class Methods
new(request, doc)
click to toggle source
# File lib/lolsoap/response.rb, line 21 def initialize(request, doc) @request = request @doc = doc end
parse(request, raw)
click to toggle source
Create a new instance from a raw XML string
# File lib/lolsoap/response.rb, line 10 def self.parse(request, raw) new( request, Nokogiri::XML::Document.parse( raw, nil, nil, Nokogiri::XML::ParseOptions::DEFAULT_XML & Nokogiri::XML::ParseOptions::STRICT ) ) end
Public Instance Methods
body()
click to toggle source
The XML node for the body of the envelope
# File lib/lolsoap/response.rb, line 32 def body @body ||= doc.at_xpath('/soap:Envelope/soap:Body/*', 'soap' => soap_namespace) end
body_hash(builder = HashBuilder)
click to toggle source
Convert the body node to a Hash, using WSDL
type data to determine the structure
# File lib/lolsoap/response.rb, line 37 def body_hash(builder = HashBuilder) builder.new(body, request.output_type).output end
fault()
click to toggle source
SOAP fault, if any
# File lib/lolsoap/response.rb, line 47 def fault @fault ||= begin node = doc.at_xpath('/soap:Envelope/soap:Body/soap:Fault', 'soap' => soap_namespace) Fault.new(request, node) if node end end
header()
click to toggle source
The XML node for the header of the envelope
# File lib/lolsoap/response.rb, line 42 def header @header ||= doc.at_xpath('/soap:Envelope/soap:Header', 'soap' => soap_namespace) end
soap_namespace()
click to toggle source
Namespace used for SOAP Envelope
tags
# File lib/lolsoap/response.rb, line 27 def soap_namespace request.soap_namespace end