Class | SOAP::Mapping::ArrayFactory_ |
In: |
lib/soap/mapping/factory.rb
|
Parent: | Factory |
# File lib/soap/mapping/factory.rb, line 206 206: def initialize(allow_original_mapping = false) 207: super() 208: @allow_original_mapping = allow_original_mapping 209: end
To create M-D Array, you must call Mapping.ary2md.
# File lib/soap/mapping/factory.rb, line 213 213: def obj2soap(soap_class, obj, info, map) 214: if !@allow_original_mapping and !obj.instance_variables.empty? 215: return nil 216: end 217: arytype = Mapping.obj2element(obj) 218: if arytype.name 219: arytype.namespace ||= RubyTypeNamespace 220: else 221: arytype = XSD::AnyTypeName 222: end 223: soap_obj = SOAPArray.new(ValueArrayName, 1, arytype) 224: mark_marshalled_obj(obj, soap_obj) 225: obj.each do |item| 226: soap_obj.add(Mapping._obj2soap(item, map)) 227: end 228: soap_obj 229: end
# File lib/soap/mapping/factory.rb, line 231 231: def soap2obj(obj_class, node, info, map) 232: obj = Mapping.create_empty_object(obj_class) 233: mark_unmarshalled_obj(node, obj) 234: node.soap2array(obj) do |elem| 235: elem ? Mapping._soap2obj(elem, map) : nil 236: end 237: return true, obj 238: end