Parent

Files

Class/Module Index [+]

Quicksearch

SOAP::WSDLDriverFactory

Attributes

wsdl[R]

Public Class Methods

new(wsdl) click to toggle source
# File lib/soap/wsdlDriver.rb, line 32
def initialize(wsdl)
  @wsdl = import(wsdl)
end

Public Instance Methods

create_rpc_driver(servicename = nil, portname = nil) click to toggle source
# File lib/soap/wsdlDriver.rb, line 40
def create_rpc_driver(servicename = nil, portname = nil)
  port = find_port(servicename, portname)
  drv = SOAP::RPC::Driver.new(port.soap_address.location)
  if binding = port.find_binding
    init_driver(drv, binding)
    add_operation(drv, binding)
  end
  drv
end
dump_method_signatures(servicename = nil, portname = nil) click to toggle source
# File lib/soap/wsdlDriver.rb, line 50
def dump_method_signatures(servicename = nil, portname = nil)
  targetservice = XSD::QName.new(@wsdl.targetnamespace, servicename) if servicename
  targetport = XSD::QName.new(@wsdl.targetnamespace, portname) if portname
  sig = []
  element_definitions = @wsdl.collect_elements
  @wsdl.services.each do |service|
    next if targetservice and service.name != targetservice
    service.ports.each do |port|
      next if targetport and port.name != targetport
      if porttype = port.porttype
        assigned_method = collect_assigned_method(porttype.name)
        if binding = port.porttype.find_binding
          sig << binding.operations.collect { |op_bind|
            operation = op_bind.find_operation
            name = assigned_method[op_bind.boundid] || op_bind.name
            str = "= #{safemethodname(name)}\n\n"
            str << dump_method_signature(name, operation, element_definitions)
            str.gsub(/^#/, " ")
          }.join("\n")
        end
      end
    end
  end
  sig.join("\n")
end
inspect() click to toggle source
# File lib/soap/wsdlDriver.rb, line 36
def inspect
  sprintf("#<%s:%s:0x%x\n\n%s>", self.class.name, @wsdl.name, __id__, dump_method_signatures)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.