Changeset 1572
- Timestamp:
- 07/14/05 21:37:25 (3 years ago)
- Files:
-
- trunk/lib/soap/mapping/wsdlencodedregistry.rb (modified) (1 diff)
- trunk/lib/soap/mapping/wsdlliteralregistry.rb (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lib/soap/mapping/wsdlencodedregistry.rb
r1556 r1572 247 247 child = Mapping._soap2obj(value, self, klass) 248 248 end 249 elsif klass = Mapping.module_from_name(class_name) 250 # simpletype 251 if value.respond_to?(:data) 252 child = value.data 253 else 254 raise MappingError.new( 255 "cannot map to a module value: #{class_name}") 256 end 249 257 else 250 258 raise MappingError.new("unknown class: #{class_name}") trunk/lib/soap/mapping/wsdlliteralregistry.rb
r1556 r1572 70 70 end 71 71 end 72 raise MappingError.new("cannot map #{node.type.name} to Ruby object") 72 if node.respond_to?(:type) 73 raise MappingError.new("cannot map #{node.type.name} to Ruby object") 74 else 75 raise MappingError.new("cannot map #{node.elename.name} to Ruby object") 76 end 73 77 end 74 78 … … 280 284 if class_name = elements[name] 281 285 if klass = Mapping.class_from_name(class_name) 286 # klass must be a SOAPBasetype or a class 282 287 if klass.ancestors.include?(::SOAP::SOAPBasetype) 283 288 if value.respond_to?(:data) … … 289 294 child = any2obj(value, klass) 290 295 end 296 elsif klass = Mapping.module_from_name(class_name) 297 # simpletype 298 if value.respond_to?(:data) 299 child = value.data 300 else 301 raise MappingError.new( 302 "cannot map to a module value: #{class_name}") 303 end 291 304 else 292 raise MappingError.new("unknown class : #{class_name}")305 raise MappingError.new("unknown class/module: #{class_name}") 293 306 end 294 307 else # untyped element is treated as anyType.