class WsdlMapper::SvcDescParsing::PortTypeParser
Public Instance Methods
determine_type(sequence)
click to toggle source
# File lib/wsdl_mapper/svc_desc_parsing/port_type_parser.rb, line 45 def determine_type(sequence) case sequence[0, 2] when [INPUT] :one_way when [INPUT, OUTPUT] :request_response when [OUTPUT, INPUT] :solicit_response when [OUTPUT] :notification end end
parse(node)
click to toggle source
# File lib/wsdl_mapper/svc_desc_parsing/port_type_parser.rb, line 7 def parse(node) name = parse_name_in_attribute 'name', node port_type = PortType.new name each_element node do |child| parse_port_type_child child, port_type end @base.description.add_port_type port_type end
parse_operation(node, port_type)
click to toggle source
# File lib/wsdl_mapper/svc_desc_parsing/port_type_parser.rb, line 30 def parse_operation(node, port_type) name = parse_name_in_attribute 'name', node operation = PortType::Operation.new name sequence = [] each_element node do |child| sequence << parse_operation_child(child, operation) end sequence.compact! operation.type = determine_type sequence port_type.add_operation operation end
parse_operation_child(node, operation)
click to toggle source
# File lib/wsdl_mapper/svc_desc_parsing/port_type_parser.rb, line 58 def parse_operation_child(node, operation) name = get_name(node) case name when INPUT parse_operation_input node, operation name when OUTPUT parse_operation_output node, operation name when FAULT parse_operation_fault node, operation name when DOCUMENTATION @base.parse_documentation node, operation nil else log_msg node, :unknown nil end end
parse_operation_fault(node, operation)
click to toggle source
# File lib/wsdl_mapper/svc_desc_parsing/port_type_parser.rb, line 93 def parse_operation_fault(node, operation) name = parse_name_in_attribute 'name', node fault = PortType::InputOutput.new name fault.message_name = parse_name_in_attribute 'message', node operation.add_fault fault end
parse_operation_input(node, operation)
click to toggle source
# File lib/wsdl_mapper/svc_desc_parsing/port_type_parser.rb, line 79 def parse_operation_input(node, operation) name = parse_name_in_attribute 'name', node input = PortType::InputOutput.new name input.message_name = parse_name_in_attribute 'message', node operation.input = input end
parse_operation_output(node, operation)
click to toggle source
# File lib/wsdl_mapper/svc_desc_parsing/port_type_parser.rb, line 86 def parse_operation_output(node, operation) name = parse_name_in_attribute 'name', node output = PortType::InputOutput.new name output.message_name = parse_name_in_attribute 'message', node operation.output = output end
parse_port_type_child(node, port_type)
click to toggle source
# File lib/wsdl_mapper/svc_desc_parsing/port_type_parser.rb, line 19 def parse_port_type_child(node, port_type) case get_name(node) when OPERATION parse_operation node, port_type when DOCUMENTATION @base.parse_documentation node, operation else log_msg node, :unknown end end