class WSDL::OperationBinding
Attributes
fault[R]
input[R]
name[R]
output[R]
soapoperation[R]
Public Class Methods
new()
click to toggle source
Calls superclass method
WSDL::Info.new
# File lib/wsdl/operationBinding.rb, line 22 def initialize super @name = nil @input = nil @output = nil @fault = [] @soapoperation = nil end
Public Instance Methods
find_operation()
click to toggle source
# File lib/wsdl/operationBinding.rb, line 39 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
parse_attr(attr, value)
click to toggle source
# File lib/wsdl/operationBinding.rb, line 113 def parse_attr(attr, value) case attr when NameAttrName @name = value.source else nil end end
parse_element(element)
click to toggle source
# File lib/wsdl/operationBinding.rb, line 87 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()
click to toggle source
# File lib/wsdl/operationBinding.rb, line 35 def porttype root.porttype(parent.type) end
soapaction()
click to toggle source
# File lib/wsdl/operationBinding.rb, line 79 def soapaction if @soapoperation @soapoperation.soapaction else nil end end
soapbody_use_input()
click to toggle source
# File lib/wsdl/operationBinding.rb, line 71 def soapbody_use_input soapbody_use(@input) end
soapbody_use_output()
click to toggle source
# File lib/wsdl/operationBinding.rb, line 75 def soapbody_use_output soapbody_use(@output) end
soapoperation_name()
click to toggle source
# File lib/wsdl/operationBinding.rb, line 51 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
soapoperation_style()
click to toggle source
# File lib/wsdl/operationBinding.rb, line 59 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()
click to toggle source
# File lib/wsdl/operationBinding.rb, line 31 def targetnamespace parent.targetnamespace end
Private Instance Methods
soapbody_use(param)
click to toggle source
# File lib/wsdl/operationBinding.rb, line 124 def soapbody_use(param) param ? param.soapbody_use : nil end