Included Modules

Files

Class/Module Index [+]

Quicksearch

SOAP::SOAPBody

Add method definitions for RPC to common definition in element.rb

Attributes

is_fault[R]

Public Class Methods

new(data = nil, is_fault = false) click to toggle source
# File lib/soap/element.rb, line 99
def initialize(data = nil, is_fault = false)
  super(nil)
  @elename = EleBodyName
  @encodingstyle = nil
  if data
    if data.respond_to?(:to_xmlpart)
      data = SOAP::SOAPRawData.new(data)
    elsif defined?(::REXML) and data.is_a?(::REXML::Element)
      data = SOAP::SOAPRawData.new(SOAP::SOAPREXMLElementWrap.new(data))
    end
    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 = {}) click to toggle source
# File lib/soap/element.rb, line 120
def encode(generator, ns, attrs = {})
  name = ns.name(@elename)
  generator.encode_tag(name, attrs)
  @data.each do |data|
    yield(data)
  end
  generator.encode_tag_end(name, @data.size > 0)
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('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 129
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

[Validate]

Generated with the Darkfish Rdoc Generator 2.