Extended maintenance of Ruby versions 1.8.7 and 1.9.2 ended on July 31, 2014. Read more

In Files

  • wsdl/soap/methodDefCreator.rb

Class/Module Index [+]

Quicksearch

WSDL::SOAP::MethodDefCreator

Attributes

definitions[R]

Public Class Methods

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

Public Instance Methods

collect_documentparameter(operation) click to toggle source
 
               # File wsdl/soap/methodDefCreator.rb, line 66
def collect_documentparameter(operation)
  param = []
  operation.inputparts.each do |input|
    param << param_set(::SOAP::RPC::SOAPMethod::IN, input.name,
      documentdefinedtype(input), elementqualified(input))
  end
  operation.outputparts.each do |output|
    param << param_set(::SOAP::RPC::SOAPMethod::OUT, output.name,
      documentdefinedtype(output), elementqualified(output))
  end
  param
end
            
collect_rpcparameter(operation) click to toggle source
 
               # File wsdl/soap/methodDefCreator.rb, line 46
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(porttype) click to toggle source
 
               # File wsdl/soap/methodDefCreator.rb, line 31
def dump(porttype)
  @types.clear
  result = ""
  operations = @definitions.porttype(porttype).operations
  binding = @definitions.porttype_binding(porttype)
  operations.each do |operation|
    op_bind = binding.operations[operation.name]
    next unless op_bind # no binding is defined
    next unless op_bind.soapoperation # not a SOAP operation binding
    result << ",\n" unless result.empty?
    result << dump_method(operation, op_bind).chomp
  end
  return result, @types
end