# File lib/sqs/right_sqs_gen2_interface.rb, line 282
    def receive_message(queue_url, max_number_of_messages=1, visibility_timeout=nil, attributes=nil)
      return [] if max_number_of_messages == 0
      params = {}
      params.merge!(amazonize_list('AttributeName', Array(attributes))) unless attributes.blank?
      params.merge!('MaxNumberOfMessages' => max_number_of_messages,
                    'VisibilityTimeout'   => visibility_timeout,
                    :queue_url            => queue_url )
      req_hash = generate_post_request('ReceiveMessage', params)
      request_info(req_hash, SqsReceiveMessageParser.new(:logger => @logger))
    rescue
      on_exception
    end