class LolSoap::WSDLParser::OperationIO
Public Instance Methods
body()
click to toggle source
# File lib/lolsoap/wsdl_parser.rb, line 254 def body @body ||= part_elements(:body) end
header()
click to toggle source
# File lib/lolsoap/wsdl_parser.rb, line 250 def header @header ||= part_elements(:header) end
name()
click to toggle source
# File lib/lolsoap/wsdl_parser.rb, line 246 def name node.name end
Private Instance Methods
operation_message()
click to toggle source
# File lib/lolsoap/wsdl_parser.rb, line 260 def operation_message operation.port_type_operation[name.to_sym] end
part_elements(name)
click to toggle source
# File lib/lolsoap/wsdl_parser.rb, line 264 def part_elements(name) nodes = node.xpath("s:#{name}", parser.ns) return [] unless nodes nodes.map { |node| parts = parser.messages.fetch((node['message'] || operation_message).to_s.split(':').last) parts.fetch(node['parts'] || node['part']) do |part_name| if parts.size == 1 if name == :body parts.values.first end else raise ParseError, "Can't determine which part of #{message_name} to use as #{operation.name} #{self.name} #{name}" end end }.compact end