private function ValidateResponse($json_array, $func_log_id, $request_id)
 {
     // These statuses will trigger an error state but not kill the program
     $response_whitelist = array('EVENT_QUEUE_EXECUTE_NOW_FAILED');
     // Validate that the request completed successfully
     if ($json_array['status'] == 'OK' && array_key_exists(0, $json_array['responses']) && array_key_exists('status', $json_array['responses'][0])) {
         if ($json_array['responses'][0]['status'] == 'OK') {
             DataLoadLogDAO::completeFunction($this->db, $func_log_id, 'Request Successful');
         } elseif (in_array($json_array['responses'][0]['status'], $response_whitelist)) {
             $status_str = "Statuses: [{$json_array['status']}], [{$json_array['responses'][0]['status']}]";
             echo "Request Failed.  {$status_str}\nContinuing...\n";
             DataLoadLogDAO::webServiceStatusFailure($this->db, $request_id);
             DataLoadLogDAO::completeFunction($this->db, $func_log_id, "Request Failed.  {$status_str}", 1);
             return 'retry';
         } else {
             $status_str = "Statuses: [{$json_array['status']}], [{$json_array['responses'][0]['status']}]";
             DataLoadLogDAO::webServiceStatusFailure($this->db, $request_id);
             DataLoadLogDAO::completeFunction($this->db, $func_log_id, "Request Failed.  {$status_str}", 1);
             DataLoadDAO::loadFailed($this->db, $this->data_load_id);
             die("Data Load Failed. {$status_str}\n");
         }
     } elseif (array_key_exists(0, $json_array['responses']) && substr($json_array['responses'][0], 0, 9) === 'EXCEPTION') {
         $status_str = "Statuses: [{$json_array['status']}], [{$json_array['responses'][0]}]";
         echo "Request Failed.  {$status_str}\nContinuing...\n";
         DataLoadLogDAO::webServiceStatusFailure($this->db, $request_id);
         DataLoadLogDAO::completeFunction($this->db, $func_log_id, "Request Failed.  {$status_str}", 1);
         return 'retry';
     } else {
         $status_str = "Statuses: [{$json_array['status']}], [{$json_array['responses'][0]}]";
         DataLoadLogDAO::webServiceStatusFailure($this->db, $request_id);
         DataLoadLogDAO::completeFunction($this->db, $func_log_id, "Request Failed.  {$status_str}", 1);
         DataLoadDAO::loadFailed($this->db, $this->data_load_id);
         die("Data Load Failed. {$status_str}\n");
     }
     return true;
 }