# File lib/soap/mapping/wsdlliteralregistry.rb, line 54
  def soap2obj(node, obj_class = nil)
    cause = nil
    begin
      return any2obj(node, obj_class)
    rescue MappingError
      cause = $!
    end
    if @excn_handler_soap2obj
      begin
        return @excn_handler_soap2obj.call(node) { |yield_node|
            Mapping.soap2obj(yield_node, nil, nil, MAPPING_OPT)
          }
      rescue Exception
      end
    end
    if node.respond_to?(:type)
      raise MappingError.new("cannot map #{node.type.name} to Ruby object", cause)
    else
      raise MappingError.new("cannot map #{node.elename.name} to Ruby object", cause)
    end
  end