Class: WSDL::Port
Instance Attribute Summary collapse
Attributes inherited from Info
#id, #parent, #root
Instance Method Summary
collapse
Methods inherited from Info
#inspect, #parse_epilogue
Constructor Details
#initialize ⇒ Port
Returns a new instance of Port.
20
21
22
23
24
25
|
# File 'lib/wsdl/port.rb', line 20
def initialize
super
@name = nil
@binding = nil
@soap_address = nil
end
|
Instance Attribute Details
#binding ⇒ Object
17
18
19
|
# File 'lib/wsdl/port.rb', line 17
def binding
@binding
end
|
#name ⇒ Object
16
17
18
|
# File 'lib/wsdl/port.rb', line 16
def name
@name
end
|
#soap_address ⇒ Object
Returns the value of attribute soap_address
18
19
20
|
# File 'lib/wsdl/port.rb', line 18
def soap_address
@soap_address
end
|
Instance Method Details
#find_binding ⇒ Object
35
36
37
|
# File 'lib/wsdl/port.rb', line 35
def find_binding
root.binding(@binding) or raise RuntimeError.new("#{@binding} not found")
end
|
39
40
41
42
43
44
45
46
|
# File 'lib/wsdl/port.rb', line 39
def inputoperation_map
result = {}
find_binding.operations.each do |op_bind|
op_info = op_bind.soapoperation.input_info
result[op_info.op_name] = op_info
end
result
end
|
#outputoperation_map ⇒ Object
48
49
50
51
52
53
54
55
|
# File 'lib/wsdl/port.rb', line 48
def outputoperation_map
result = {}
find_binding.operations.each do |op_bind|
op_info = op_bind.soapoperation.output_info
result[op_info.op_name] = op_info
end
result
end
|
#parse_attr(attr, value) ⇒ Object
71
72
73
74
75
76
77
78
79
80
|
# File 'lib/wsdl/port.rb', line 71
def parse_attr(attr, value)
case attr
when NameAttrName
@name = XSD::QName.new(targetnamespace, value.source)
when BindingAttrName
@binding = value
else
nil
end
end
|
#parse_element(element) ⇒ Object
#porttype ⇒ Object
31
32
33
|
# File 'lib/wsdl/port.rb', line 31
def porttype
root.porttype(find_binding.type)
end
|
#targetnamespace ⇒ Object
27
28
29
|
# File 'lib/wsdl/port.rb', line 27
def targetnamespace
parent.targetnamespace
end
|