Class: WsdlMapper::SvcDescParsing::MessageParser

Inherits:
ParserBase show all
Defined in:
lib/wsdl_mapper/svc_desc_parsing/message_parser.rb

Constant Summary

Constant Summary

Constants inherited from ParserBase

ParserBase::Soap, ParserBase::SoapEnc, ParserBase::SoapHttp

Constants included from Wsdl11

Wsdl11::ARRAY_TYPE, Wsdl11::BINDING, Wsdl11::DEFINITIONS, Wsdl11::DOCUMENTATION, Wsdl11::FAULT, Wsdl11::INPUT, Wsdl11::MESSAGE, Wsdl11::NS, Wsdl11::OPERATION, Wsdl11::OUTPUT, Wsdl11::PART, Wsdl11::PORT, Wsdl11::PORT_TYPE, Wsdl11::SERVICE, Wsdl11::TYPES

Constants inherited from Parsing::Base

Parsing::Base::NS_DECL_PREFIX, Parsing::Base::TARGET_NS

Instance Attribute Summary

Attributes included from Parsing::Logging

#log_msgs

Instance Method Summary (collapse)

Methods inherited from Parsing::Base

get_name, #initialize

Methods included from Parsing::Logging

#log_msg

Constructor Details

This class inherits a constructor from WsdlMapper::Parsing::Base

Instance Method Details

- (Object) parse(node)



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/wsdl_mapper/svc_desc_parsing/message_parser.rb', line 7

def parse(node)
  name = parse_name_in_attribute 'name', node

  message = Message.new name

  each_element node do |child|
    parse_message_child child, message
  end

  @base.description.add_message message
end

- (Object) parse_message_child(node, message)



19
20
21
22
23
24
25
26
27
28
# File 'lib/wsdl_mapper/svc_desc_parsing/message_parser.rb', line 19

def parse_message_child(node, message)
  case get_name(node)
  when PART
    parse_part node, message
  when DOCUMENTATION
    @base.parse_documentation node, message
  else
    log_msg node, :unknown
  end
end

- (Object) parse_part(node, message)



30
31
32
33
34
35
36
37
38
39
# File 'lib/wsdl_mapper/svc_desc_parsing/message_parser.rb', line 30

def parse_part(node, message)
  name = parse_name_in_attribute 'name', node

  part = Message::Part.new name

  part.element_name = parse_name_in_attribute 'element', node
  part.type_name = parse_name_in_attribute 'type', node

  message.add_part part
end