Class: WSDL::OperationBinding

Class | WSDL::OperationBinding
In: | wsdl/operationBinding.rb
Parent: | Info

### Methods

find_operation new parse_attr parse_element porttype soapaction soapoperation_name soapoperation_style targetnamespace

### Attributes

fault | [R] |
input | [R] |
name | [R] |
output | [R] |
soapoperation | [R] |

### Public Class methods

new()

[Source]

    # File wsdl/operationBinding.rb, line 22
      def initialize
        super
        @name = nil
        @input = nil
        @output = nil
        @fault = []
        @soapoperation = nil
      end

### Public Instance methods

find_operation()

[Source]

    # File wsdl/operationBinding.rb, line 39
      def find_operation
        porttype.operations[@name] or raise RuntimeError.new("#{@name} not found")
      end

parse_attr(attr, value)

[Source]

    # File wsdl/operationBinding.rb, line 97
      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/operationBinding.rb, line 71
      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 SOAPOperationName
          o = WSDL::SOAP::Operation.new
          @soapoperation = o
          o
        when DocumentationName
          o = Documentation.new
          o
        else
          nil
        end
      end

porttype()

[Source]

    # File wsdl/operationBinding.rb, line 35
      def porttype
        root.porttype(parent.type)
      end

soapaction()

[Source]

    # File wsdl/operationBinding.rb, line 63
      def soapaction
        if @soapoperation
          @soapoperation.soapaction
        else
          nil
        end
      end

soapoperation_name()

[Source]

    # File wsdl/operationBinding.rb, line 43
      def soapoperation_name
        if @soapoperation
          @soapoperation.input_info.op_name
        else
          find_operation.name
        end
      end

soapoperation_style()

[Source]

    # File wsdl/operationBinding.rb, line 51
      def soapoperation_style
        style = nil
        if @soapoperation
          style = @soapoperation.operation_style
        elsif parent.soapbinding
          style = parent.soapbinding.style
        else
          raise TypeError.new("operation style definition not found")
        end
        style || :document
      end

targetnamespace()

[Source]

    # File wsdl/operationBinding.rb, line 31
      def targetnamespace
        parent.targetnamespace
      end

[Validate]