class SOAP::SOAPBody
Add method definitions for RPC
to common definition in element.rb
Public Class Methods
new(data = nil, is_fault = false)
click to toggle source
Calls superclass method
SOAP::SOAPStruct::new
# File lib/soap/element.rb, line 98 def initialize(data = nil, is_fault = false) super(nil) @elename = EleBodyName @encodingstyle = nil if data if data.respond_to?(:elename) add(data.elename.name, data) else data.to_a.each do |datum| add(datum.elename.name, datum) end end end @is_fault = is_fault end
Public Instance Methods
encode(generator, ns, attrs = {}) { |data| ... }
click to toggle source
# File lib/soap/element.rb, line 114 def encode(generator, ns, attrs = {}) name = ns.name(@elename) generator.encode_tag(name, attrs) if @is_fault yield(@data) else @data.each do |data| yield(data) end end generator.encode_tag_end(name, true) end
fault()
click to toggle source
# File lib/soap/rpc/element.rb, line 49 def fault if @is_fault self['fault'] else nil end end
fault=(fault)
click to toggle source
# File lib/soap/rpc/element.rb, line 57 def fault=(fault) @is_fault = true add_member('fault', fault) end
outparams()
click to toggle source
# File lib/soap/rpc/element.rb, line 38 def outparams root = root_node if !@is_fault and !root.nil? and !root.is_a?(SOAPBasetype) op = root[1..-1] op = nil if op && op.empty? op else nil end end
request()
click to toggle source
# File lib/soap/rpc/element.rb, line 18 def request root_node end
response()
click to toggle source
# File lib/soap/rpc/element.rb, line 22 def response root = root_node if !@is_fault if root.nil? nil elsif root.is_a?(SOAPBasetype) root else # Initial element is [retval]. root[0] end else root end end
root_node()
click to toggle source
# File lib/soap/element.rb, line 127 def root_node @data.each do |node| if node.root == 1 return node end end # No specified root... @data.each do |node| if node.root != 0 return node end end raise Parser::FormatDecodeError.new('no root element') end