$request->setUserID($CONFIG_USERID);
$request->setPassword($CONFIG_PASSWORD);
$request->setReportType($CONFIG_REPORTTYPE);
$request->setADRIPAddress($CONFIG_ADRIPADDRESS);
$request->setADRPort($CONFIG_ADRPORT);
//An optional report
$request->setAdditionalReportType(\Adr\Request\AdditionalReportType::HTML);
$request->addOrder($requestOrder);
//Let's check out how the Request XML looks
print 'REQUEST XML BEING SENT TO ADR:' . PHP_EOL . $request->getXML();
//Our Request is ready to send to ADR, but we're not actually doing it as I assume you do not have an account.
try {
    $response = $request->send();
    //Did we reset that password?  Save it or you'll be <epic>Sad Face</epic>.
    if ($request->hasNewPassword()) {
        $newPassword = $request->getNewPassword();
        //Open a file / database / whatever and save your new password.
    }
} catch (Exception $e) {
    print "Exception found : " . $e->getMessage();
}
//If you wanted to get the HTML report, assuming you set it above: $request->setAdditionalReportType(\Adr\Request\AdditionalReportType::HTML);
//print $response->getReportData();
//print $response->getReportFormat();
print $response->getXML();
print PHP_EOL . PHP_EOL . "Begin custom processing of response XML:" . PHP_EOL;
//At this point, the communication with ADR is done, and you can do whatever you need with the response data.  This
//example involves scoring the data, based on our Codes, Rules and RuleSets (in the SQL).  This does little more than
//give an idea of what you might want to do with the data.
//History nodes have violations, violations have AVD Codes which we will score.
$historyNodes = $response->getHistoryNodes();