# File lib/wsdl/operationBinding.rb, line 121 def boundid BoundId.new(name, soapaction) end
# File lib/wsdl/operationBinding.rb, line 125 def find_operation porttype.operations.each do |op| next if op.name != @name next if op.input and @input and op.input.name and @input.name and op.input.name != @input.name next if op.output and @output and op.output.name and @output.name and op.output.name != @output.name return op end raise RuntimeError.new("#{@name} not found") end
# File lib/wsdl/operationBinding.rb, line 87 def operation_info qname = soapoperation_name() style = soapoperation_style() use_input = soapbody_use(@input) use_output = soapbody_use(@output) info = OperationInfo.new(boundid, qname, style, use_input, use_output) op = find_operation() if style == :rpc info.parts.concat(collect_rpcparameter(op)) else info.parts.concat(collect_documentparameter(op)) end @fault.each do |fault| op_fault = {} soapfault = fault.soapfault next if soapfault.nil? op_fault[:ns] = fault.name.namespace op_fault[:name] = fault.name.name op_fault[:namespace] = soapfault.namespace op_fault[:use] = soapfault.use || "literal" op_fault[:encodingstyle] = soapfault.encodingstyle || "document" info.faults[fault.name] = op_fault end info end
# File lib/wsdl/operationBinding.rb, line 191 def parse_attr(attr, value) case attr when NameAttrName @name = value.source else nil end end
# File lib/wsdl/operationBinding.rb, line 165 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
# File lib/wsdl/operationBinding.rb, line 117 def porttype root.porttype(parent.type) end
# File lib/wsdl/operationBinding.rb, line 157 def soapaction if @soapoperation @soapoperation.soapaction else nil end end
# File lib/wsdl/operationBinding.rb, line 137 def soapoperation_name op_name = find_operation.operationname if @input and @input.soapbody and @input.soapbody.namespace op_name = XSD::QName.new(@input.soapbody.namespace, op_name.name) end op_name end
# File lib/wsdl/operationBinding.rb, line 145 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
Generated with the Darkfish Rdoc Generator 2.