Parent

Files

Class/Module Index [+]

Quicksearch

WSDL::SOAP::MethodDefCreator

Attributes

definitions[R]

Public Class Methods

new(definitions, name_creator, modulepath, defined_const) click to toggle source
# File lib/wsdl/soap/methodDefCreator.rb, line 23
def initialize(definitions, name_creator, modulepath, defined_const)
  @definitions = definitions
  @name_creator = name_creator
  @modulepath = modulepath
  @simpletypes = @definitions.collect_simpletypes
  @complextypes = @definitions.collect_complextypes
  @elements = @definitions.collect_elements
  @types = []
  @encoded = false
  @literal = false
  @defined_const = defined_const
end

Public Instance Methods

collect_documentparameter(operation) click to toggle source
# File lib/wsdl/soap/methodDefCreator.rb, line 81
def collect_documentparameter(operation)
  param = []
  operation.inputparts.each do |input|
    param << param_set(::SOAP::RPC::SOAPMethod::IN, input.name,
      documentdefinedtype(input))
  end
  operation.outputparts.each do |output|
    param << param_set(::SOAP::RPC::SOAPMethod::OUT, output.name,
      documentdefinedtype(output))
  end
  param
end
collect_rpcparameter(operation) click to toggle source
# File lib/wsdl/soap/methodDefCreator.rb, line 61
def collect_rpcparameter(operation)
  result = operation.inputparts.collect { |part|
    collect_type(part.type)
    param_set(::SOAP::RPC::SOAPMethod::IN, part.name, rpcdefinedtype(part))
  }
  outparts = operation.outputparts
  if outparts.size > 0
    retval = outparts[0]
    collect_type(retval.type)
    result << param_set(::SOAP::RPC::SOAPMethod::RETVAL, retval.name,
      rpcdefinedtype(retval))
    cdr(outparts).each { |part|
      collect_type(part.type)
      result << param_set(::SOAP::RPC::SOAPMethod::OUT, part.name,
        rpcdefinedtype(part))
    }
  end
  result
end
dump(name) click to toggle source
# File lib/wsdl/soap/methodDefCreator.rb, line 36
def dump(name)
  @types.clear
  @encoded = false
  @literal = false
  methoddef = ""
  porttype = @definitions.porttype(name)
  binding = porttype.find_binding
  if binding
    binding.operations.each do |op_bind|
      next unless op_bind # no binding is defined
      next unless op_bind.soapoperation # not a SOAP operation binding
      op = op_bind.find_operation
      methoddef << ",\n" unless methoddef.empty?
      methoddef << dump_method(op, op_bind).chomp
    end
  end
  result = {
    :methoddef => methoddef,
    :types => @types,
    :encoded => @encoded,
    :literal => @literal
  }
  result
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.