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