} catch (Exception $ex) {
                $response = Response::makeCustomResponse($datasource->getResponseCode(), $datasource->getDBMessage(), false, $datasource->getException());
            }
            $datasource->closeDB();
            echo json_encode($response);
        } else {
            //
            // Not in a transaction
            //
            $operation = MySQLOperation::createOperation($operationArray);
            $response = null;
            try {
                $data = $datasource->executeOperation($operation);
                $response = Response::makeCustomResponse($datasource->getResponseCode(), $datasource->getDBMessage(), $data, $datasource->getException());
            } catch (Exception $ex) {
                $response = Response::makeCustomResponse($datasource->getResponseCode(), $datasource->getDBMessage(), $data, $datasource->getException());
            }
            $datasource->closeDB();
            echo json_encode($response);
        }
    } else {
        //
        // Database not open
        //
        $response->makeCustomResponse(-1, "Database is closed", null, $datasource->getException());
        echo json_encode($response);
    }
} catch (Exception $ex) {
    //
    // Exception thrown
    //