In: |
soap/mapping/factory.rb
|
Parent: | Factory |
# File soap/mapping/factory.rb, line 336 def initialize(allow_original_mapping = false) super() @allow_original_mapping = allow_original_mapping end
# File soap/mapping/factory.rb, line 341 def obj2soap(soap_class, obj, info, map) if !@allow_original_mapping and !obj.instance_variables.empty? return nil end if !obj.default.nil? or (obj.respond_to?(:default_proc) and obj.default_proc) return nil end param = SOAPStruct.new(MapQName) mark_marshalled_obj(obj, param) obj.each do |key, value| elem = SOAPStruct.new elem.add("key", Mapping._obj2soap(key, map)) elem.add("value", Mapping._obj2soap(value, map)) # ApacheAxis allows only 'item' here. param.add("item", elem) end param end
# File soap/mapping/factory.rb, line 361 def soap2obj(obj_class, node, info, map) unless node.type == MapQName return false end if node.class == SOAPStruct and node.key?('default') return false end obj = create_empty_object(obj_class) mark_unmarshalled_obj(node, obj) if node.class == SOAPStruct node.each do |key, value| obj[Mapping._soap2obj(value['key'], map)] = Mapping._soap2obj(value['value'], map) end else node.each do |value| obj[Mapping._soap2obj(value['key'], map)] = Mapping._soap2obj(value['value'], map) end end return true, obj end