Class | WSDL::SOAP::MethodDefCreator
In: | wsdl/soap/methodDefCreator.rb
Parent: | Object

### Methods

collect_documentparameter collect_rpcparameter dump new

### Included Modules

ClassDefCreatorSupport

### Attributes

definitions | [R] |

### Public Class methods

new(definitions)

[Source]

    # File wsdl/soap/methodDefCreator.rb, line 23
      def initialize(definitions)
        @definitions = definitions
        @simpletypes = @definitions.collect_simpletypes
        @complextypes = @definitions.collect_complextypes
        @elements = @definitions.collect_elements
        @types = []
      end

### Public Instance methods

collect_documentparameter(operation)

[Source]

    # File wsdl/soap/methodDefCreator.rb, line 66
      def collect_documentparameter(operation)
        param = []
        operation.inputparts.each do |input|
          param << param_set(::SOAP::RPC::SOAPMethod::IN, input.name,
            documentdefinedtype(input), elementqualified(input))
        end
        operation.outputparts.each do |output|
          param << param_set(::SOAP::RPC::SOAPMethod::OUT, output.name,
            documentdefinedtype(output), elementqualified(output))
        end
        param
      end

collect_rpcparameter(operation)

[Source]

    # File wsdl/soap/methodDefCreator.rb, line 46
      def collect_rpcparameter(operation)
        result = operation.inputparts.collect { |part|
          collect_type(part.type)
          param_set(::SOAP::RPC::SOAPMethod::IN, part.name, rpcdefinedtype(part))
        }
        outparts = operation.outputparts
        if outparts.size > 0
          retval = outparts[0]
          collect_type(retval.type)
          result << param_set(::SOAP::RPC::SOAPMethod::RETVAL, retval.name,
            rpcdefinedtype(retval))
          cdr(outparts).each { |part|
            collect_type(part.type)
            result << param_set(::SOAP::RPC::SOAPMethod::OUT, part.name,
              rpcdefinedtype(part))
          }
        end
        result
      end

dump(porttype)

[Source]

    # File wsdl/soap/methodDefCreator.rb, line 31
      def dump(porttype)
        @types.clear
        result = ""
        operations = @definitions.porttype(porttype).operations
        binding = @definitions.porttype_binding(porttype)
        operations.each do |operation|
          op_bind = binding.operations[operation.name]
          next unless op_bind # no binding is defined
          next unless op_bind.soapoperation # not a SOAP operation binding
          result << ",\n" unless result.empty?
          result << dump_method(operation, op_bind).chomp
        end
        return result, @types
      end

[Validate]