class WsdlMapper::SvcDescParsing::BindingParser
Public Instance Methods
parse(node)
click to toggle source
# File lib/wsdl_mapper/svc_desc_parsing/binding_parser.rb, line 7 def parse(node) name = parse_name_in_attribute 'name', node binding = Binding.new name binding.type_name = parse_name_in_attribute 'type', node success = true each_element node do |child| success = parse_binding_child(child, binding) && success end @base.description.add_binding(binding) if success end
parse_binding_child(node, binding)
click to toggle source
# File lib/wsdl_mapper/svc_desc_parsing/binding_parser.rb, line 21 def parse_binding_child(node, binding) case get_name node when OPERATION parse_binding_operation node, binding when Soap::BINDING parse_soap_binding node, binding when Soap12::BINDING log_msg node, :unsupported return false when Http::BINDING log_msg node, :unsupported return false when DOCUMENTATION @base.parse_documentation node, binding else log_msg node, :unknown return false end end
parse_binding_operation(node, binding)
click to toggle source
# File lib/wsdl_mapper/svc_desc_parsing/binding_parser.rb, line 46 def parse_binding_operation(node, binding) name = parse_name_in_attribute 'name', node operation = Binding::Operation.new name each_element node do |child| parse_operation_child child, operation end binding.add_operation operation end
parse_body(node)
click to toggle source
# File lib/wsdl_mapper/svc_desc_parsing/binding_parser.rb, line 111 def parse_body(node) body = Binding::Body.new body.use = fetch_attribute_value 'use', node body.encoding_styles = fetch_attribute_value('encodingStyle', node, '').split ' ' body.namespace = fetch_attribute_value 'namespace', node body.part_names = fetch_attribute_value('parts', node, '').split(' ').map { |s| parse_name(s, node) } body end
parse_fault_child(node, fault)
click to toggle source
# File lib/wsdl_mapper/svc_desc_parsing/binding_parser.rb, line 179 def parse_fault_child(node, fault) case get_name node when Soap::FAULT parse_soap_fault node, fault when DOCUMENTATION @base.parse_documentation node, fault else log_msg node, :unknown end end
parse_header(node)
click to toggle source
# File lib/wsdl_mapper/svc_desc_parsing/binding_parser.rb, line 120 def parse_header(node) header = Binding::Header.new header.use = fetch_attribute_value 'use', node header.message_name = parse_name_in_attribute 'message', node header.part_name = parse_name_in_attribute 'part', node header.encoding_styles = fetch_attribute_value('encodingStyle', node, '').split ' ' header.namespace = fetch_attribute_value 'namespace', node each_element node do |child| parse_header_child child, header end header end
parse_header_child(node, header)
click to toggle source
# File lib/wsdl_mapper/svc_desc_parsing/binding_parser.rb, line 135 def parse_header_child(node, header) case get_name node when Soap::HEADER_FAULT parse_header_fault node, header when DOCUMENTATION @base.parse_documentation node, header else log_msg node, :unknown end end
parse_header_fault(node, header)
click to toggle source
# File lib/wsdl_mapper/svc_desc_parsing/binding_parser.rb, line 146 def parse_header_fault(node, header) header_fault = Binding::HeaderFault.new header_fault.use = fetch_attribute_value 'use', node header_fault.message_name = parse_name_in_attribute 'message', node header_fault.part_name = parse_name_in_attribute 'part', node header_fault.encoding_styles = fetch_attribute_value('encodingStyle', node, '').split ' ' header_fault.namespace = fetch_attribute_value 'namespace', node header.add_header_fault header_fault end
parse_input_output_child(node, in_out)
click to toggle source
# File lib/wsdl_mapper/svc_desc_parsing/binding_parser.rb, line 94 def parse_input_output_child(node, in_out) case get_name node when Soap::HEADER in_out.add_header parse_header node when Soap::BODY in_out.body = parse_body node when Soap12::HEADER log_msg node, :unsupported when Soap12::BODY log_msg node, :unsupported when DOCUMENTATION @base.parse_documentation node, in_out else log_msg node, :unknown end end
parse_operation_child(node, operation)
click to toggle source
# File lib/wsdl_mapper/svc_desc_parsing/binding_parser.rb, line 58 def parse_operation_child(node, operation) case get_name node when INPUT parse_operation_input node, operation when OUTPUT parse_operation_output node, operation when FAULT parse_operation_fault node, operation when Soap::OPERATION parse_operation_soap_action node, operation when Soap12::OPERATION log_msg node, :unsupported when Http::OPERATION log_msg node, :unsupported when DOCUMENTATION @base.parse_documentation node, operation else log_msg node, :unknown end end
parse_operation_fault(node, operation)
click to toggle source
# File lib/wsdl_mapper/svc_desc_parsing/binding_parser.rb, line 168 def parse_operation_fault(node, operation) name = parse_name_in_attribute 'name', node fault = Binding::Fault.new name each_element node do |child| parse_fault_child child, fault end operation.add_fault fault end
parse_operation_input(node, operation)
click to toggle source
# File lib/wsdl_mapper/svc_desc_parsing/binding_parser.rb, line 83 def parse_operation_input(node, operation) name = parse_name_in_attribute 'name', node input = Binding::InputOutput.new name each_element node do |child| parse_input_output_child child, input end operation.input = input end
parse_operation_output(node, operation)
click to toggle source
# File lib/wsdl_mapper/svc_desc_parsing/binding_parser.rb, line 157 def parse_operation_output(node, operation) name = parse_name_in_attribute 'name', node output = Binding::InputOutput.new name each_element node do |child| parse_input_output_child child, output end operation.output = output end
parse_operation_soap_action(node, operation)
click to toggle source
# File lib/wsdl_mapper/svc_desc_parsing/binding_parser.rb, line 79 def parse_operation_soap_action(node, operation) operation.soap_action = fetch_attribute_value 'soapAction', node end
parse_soap_binding(node, binding)
click to toggle source
# File lib/wsdl_mapper/svc_desc_parsing/binding_parser.rb, line 41 def parse_soap_binding(node, binding) binding.style = fetch_attribute_value 'style', node binding.transport = fetch_attribute_value 'transport', node end
parse_soap_fault(node, fault)
click to toggle source
# File lib/wsdl_mapper/svc_desc_parsing/binding_parser.rb, line 190 def parse_soap_fault(node, fault) name = parse_name_in_attribute 'name', node soap_fault = Binding::SoapFault.new name soap_fault.use = fetch_attribute_value 'use', node fault.soap_fault = soap_fault end