class WSDL::PortType

Attributes

name[R]
operations[R]

Public Class Methods

new() click to toggle source
Calls superclass method WSDL::Info::new
# File lib/wsdl/portType.rb, line 25
def initialize
  super
  @name = nil
  @operations = XSD::NamedElements.new
end

Public Instance Methods

find_binding() click to toggle source

may be nil if not defined

# File lib/wsdl/portType.rb, line 32
def find_binding
  root.bindings.find { |item| item.type == @name }
end
locations() click to toggle source
# File lib/wsdl/portType.rb, line 36
def locations
  binding = find_binding
  return [] if binding.nil?
  bind_name = 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 lib/wsdl/portType.rb, line 65
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 lib/wsdl/portType.rb, line 51
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 lib/wsdl/portType.rb, line 21
def targetnamespace
  parent.targetnamespace
end