Server IP : 66.29.132.122 / Your IP : 3.12.161.29 Web Server : LiteSpeed System : Linux business142.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : admazpex ( 531) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/proc/thread-self/root/proc/thread-self/root/opt/alt/ruby18/lib64/ruby/1.8/wsdl/ |
Upload File : |
# WSDL4R - WSDL operation definition. # Copyright (C) 2002, 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>. # This program is copyrighted free software by NAKAMURA, Hiroshi. You can # redistribute it and/or modify it under the same terms of Ruby's license; # either the dual license version in 2003, or any later version. require 'wsdl/info' module WSDL class Operation < Info class NameInfo attr_reader :op_name attr_reader :optype_name attr_reader :parts def initialize(op_name, optype_name, parts) @op_name = op_name @optype_name = optype_name @parts = parts end end attr_reader :name # required attr_reader :parameter_order # optional attr_reader :input attr_reader :output attr_reader :fault attr_reader :type # required def initialize super @name = nil @type = nil @parameter_order = nil @input = nil @output = nil @fault = [] end def targetnamespace parent.targetnamespace end def input_info typename = input.find_message.name NameInfo.new(@name, typename, inputparts) end def output_info typename = output.find_message.name NameInfo.new(@name, typename, outputparts) end def inputparts sort_parts(input.find_message.parts) end def inputname XSD::QName.new(targetnamespace, input.name ? input.name.name : @name.name) end def outputparts sort_parts(output.find_message.parts) end def outputname XSD::QName.new(targetnamespace, output.name ? output.name.name : @name.name + 'Response') end 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 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 private def sort_parts(parts) return parts.dup unless parameter_order result = [] parameter_order.each do |orderitem| if (ele = parts.find { |part| part.name == orderitem }) result << ele end end if result.length == 0 return parts.dup end # result length can be shorter than parts's. # return part must not be a part of the parameterOrder. result end end end