Changeset 1651
- Timestamp:
- 10/20/05 23:40:45 (3 years ago)
- Files:
-
- trunk/lib/soap/mapping/wsdlliteralregistry.rb (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lib/soap/mapping/wsdlliteralregistry.rb
r1650 r1651 112 112 def simpleobj2soap(obj, type) 113 113 type.check_lexical_format(obj) 114 return SOAPNil.new if obj.nil? # T oDo: check nillable.114 return SOAPNil.new if obj.nil? # TODO: check nillable. 115 115 o = base2soap(obj, TypeMap[type.base]) 116 116 o … … 302 302 end 303 303 304 def anytype2obj(node)305 if node.is_a?(::SOAP::SOAPBasetype)306 return node.data307 end308 klass = ::SOAP::Mapping::Object309 obj = klass.new310 obj311 end312 313 304 def any2obj(node, obj_class = nil) 314 305 unless obj_class … … 317 308 end 318 309 if obj_class and obj_class.class_variables.include?('@@schema_element') 319 soapele2stubobj(node, obj_class)310 elesoap2stubobj(node, obj_class) 320 311 elsif node.is_a?(SOAPElement) or node.is_a?(SOAPStruct) 321 312 # SOAPArray for literal? 322 soapele2plainobj(node)313 elesoap2plainobj(node) 323 314 else 324 315 obj = Mapping.soap2obj(node, nil, obj_class, MAPPING_OPT) 325 add_attributes2 plainobj(node, obj)316 add_attributes2obj(node, obj) 326 317 obj 327 318 end 328 319 end 329 320 330 def soapele2stubobj(node, obj_class)321 def elesoap2stubobj(node, obj_class) 331 322 obj = Mapping.create_empty_object(obj_class) 332 add_ele ments2stubobj(node, obj)323 add_elesoap2stubobj(node, obj) 333 324 add_attributes2stubobj(node, obj) 334 325 obj 335 326 end 336 327 337 def soapele2plainobj(node)328 def elesoap2plainobj(node) 338 329 obj = anytype2obj(node) 339 add_ele ments2plainobj(node, obj)340 add_attributes2 plainobj(node, obj)330 add_elesoap2plainobj(node, obj) 331 add_attributes2obj(node, obj) 341 332 obj 342 333 end 343 334 344 def add_elements2stubobj(node, obj) 335 def anytype2obj(node) 336 if node.is_a?(::SOAP::SOAPBasetype) 337 return node.data 338 end 339 klass = ::SOAP::Mapping::Object 340 obj = klass.new 341 obj 342 end 343 344 def add_elesoap2stubobj(node, obj) 345 345 elements, as_array = schema_element_definition(obj.class) 346 346 vars = {} … … 407 407 end 408 408 409 def add_ele ments2plainobj(node, obj)409 def add_elesoap2plainobj(node, obj) 410 410 node.each do |name, value| 411 411 obj.__add_xmlele_value(value.elename, any2obj(value)) … … 413 413 end 414 414 415 def add_attributes2 plainobj(node, obj)415 def add_attributes2obj(node, obj) 416 416 return if node.extraattr.empty? 417 417 define_xmlattr(obj)