header("Content-Type: text/xml");
$dom = new DomDocument();
$responseNode = $dom->createElement("response");
$dom->appendChild($responseNode);
// Retrieve request parameters
$renderer = @$_POST["renderer"];
$entitySignature = @$_POST["entitySignature"];
$filterSignature = @$_POST["filterSignature"];
$params = @$_POST["params"];
// encoded with ParamEncoder::encode()
if (!empty($renderer) && !empty($entitySignature)) {
    Log::debug("* renderer = {$renderer}");
    Log::debug("* entitySignature = {$entitySignature}");
    Log::debug("* filterSignature = {$filterSignature}");
    // Decode params
    $params = ParamEncoder::decode($params);
    /*
    // Read Blueprints
    */
    // Read Entity Blueprint
    try {
        $entityBP = BlueprintReader::read($entitySignature);
    } catch (Exception $e) {
        Log::error("{$tag}: Caught Exception reading entity blueprint " . $entitySignature);
        // TODO: return error response; do not continue
    }
    // Read Filter Blueprint
    if ($filterSignature != null) {
        try {
            $filterBP = BlueprintReader::read($filterSignature);
        } catch (Exception $e) {