From: Marcin Raczkowski Date: 2007-07-09T20:50:50+09:00 Subject: Re: Bug in wsdl4r Little follow up from what i've found it's almost certenly bug: =============================== item = elements.find { |k, v| k.name == name } if item elename, class_name = item if klass = Mapping.class_from_name(class_name) # klass must be a SOAPBasetype or a class if klass.ancestors.include?(::SOAP::SOAPBasetype) if value.respond_to?(:data) child = klass.new(value.data).data else child = klass.new(nil).data end else child = any2obj(value, klass) end elsif klass = Mapping.module_from_name(class_name) # simpletype if value.respond_to?(:data) child = value.data else raise MappingError.new( "cannot map to a module value: #{class_name}") end else raise MappingError.new("unknown class/module: #{class_name}") end else # untyped element is treated as anyType. child = any2obj(value) end if as_array.include?(elename.name) (vars[name] ||= []) << child else vars[name] = child end ======================== elname is never even assigned if item is nil itself -- Marcin Raczkowski --- Friends teach what you should know Enemies Teach what you have to know