Class: WSDL::Operation

Class | WSDL::Operation
In: | wsdl/operation.rb
Parent: | Info

### Methods

input_info inputname inputparts new output_info outputname outputparts parse_attr parse_element targetnamespace

### Classes and Modules

Class WSDL::Operation::NameInfo

### Attributes

fault | [R] |
input | [R] |
name | [R] |
output | [R] |
parameter_order | [R] |
type | [R] |

### Public Class methods

new()

[Source]

    # File wsdl/operation.rb, line 34
      def initialize
        super
        @name = nil
        @type = nil
        @parameter_order = nil
        @input = nil
        @output = nil
        @fault = []
      end

### Public Instance methods

input_info()

[Source]

    # File wsdl/operation.rb, line 48
      def input_info
        typename = input.find_message.name
        NameInfo.new(@name, typename, inputparts)
      end

inputname()

[Source]

    # File wsdl/operation.rb, line 62
      def inputname
        XSD::QName.new(targetnamespace, input.name ? input.name.name : @name.name)
      end

inputparts()

[Source]

    # File wsdl/operation.rb, line 58
      def inputparts
        sort_parts(input.find_message.parts)
      end

output_info()

[Source]

    # File wsdl/operation.rb, line 53
      def output_info
        typename = output.find_message.name
        NameInfo.new(@name, typename, outputparts)
      end

outputname()

[Source]

    # File wsdl/operation.rb, line 70
      def outputname
        XSD::QName.new(targetnamespace,
          output.name ? output.name.name : @name.name + 'Response')
      end

outputparts()

[Source]

    # File wsdl/operation.rb, line 66
      def outputparts
        sort_parts(output.find_message.parts)
      end

parse_attr(attr, value)

[Source]

    # File wsdl/operation.rb, line 97
      def parse_attr(attr, value)
        case attr
        when NameAttrName
          @name = XSD::QName.new(targetnamespace, value.source)
        when TypeAttrName
          @type = value
        when ParameterOrderAttrName
          @parameter_order = value.source.split(/\s+/)
        else
          nil
        end
      end

parse_element(element)

[Source]

    # File wsdl/operation.rb, line 75
      def parse_element(element)
        case element
        when InputName
          o = Param.new
          @input = o
          o
        when OutputName
          o = Param.new
          @output = o
          o
        when FaultName
          o = Param.new
          @fault << o
          o
        when DocumentationName
          o = Documentation.new
          o
        else
          nil
        end
      end

targetnamespace()

[Source]

    # File wsdl/operation.rb, line 44
      def targetnamespace
        parent.targetnamespace
      end

[Validate]