In Files

  • wsdl/portType.rb

Class/Module Index [+]

Quicksearch

WSDL::PortType

Attributes

name[R]
operations[R]

Public Class Methods

new() click to toggle source
 
               # File wsdl/portType.rb, line 24
def initialize
  super
  @name = nil
  @operations = XSD::NamedElements.new
end
            

Public Instance Methods

find_binding() click to toggle source
 
               # File wsdl/portType.rb, line 30
def find_binding
  root.bindings.find { |item| item.type == @name } or
    raise RuntimeError.new("#{@name} not found")
end
            
locations() click to toggle source
 
               # File wsdl/portType.rb, line 35
def locations
  bind_name = find_binding.name
  result = []
  root.services.each do |service|
    service.ports.each do |port|
      if port.binding == bind_name
        result << port.soap_address.location if port.soap_address
      end
    end
  end
  result
end
            
parse_attr(attr, value) click to toggle source
 
               # File wsdl/portType.rb, line 62
def parse_attr(attr, value)
  case attr
  when NameAttrName
    @name = XSD::QName.new(targetnamespace, value.source)
  else
    nil
  end
end
            
parse_element(element) click to toggle source
 
               # File wsdl/portType.rb, line 48
def parse_element(element)
  case element
  when OperationName
    o = Operation.new
    @operations << o
    o
  when DocumentationName
    o = Documentation.new
    o
  else
    nil
  end
end
            
targetnamespace() click to toggle source
 
               # File wsdl/portType.rb, line 20
def targetnamespace
  parent.targetnamespace
end