Class: WSDL::PortType

Class | WSDL::PortType
In: | wsdl/portType.rb
Parent: | Info

### Methods

find_binding locations new parse_attr parse_element targetnamespace

### Attributes

name | [R] |
operations | [R] |

### Public Class methods

new()

[Source]

    # File wsdl/portType.rb, line 24
      def initialize
        super
        @name = nil
        @operations = XSD::NamedElements.new
      end

### Public Instance methods

find_binding()

[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()

[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)

[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)

[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()

[Source]

    # File wsdl/portType.rb, line 20
      def targetnamespace
        parent.targetnamespace
      end

[Validate]