private function _setCRL(SSLCRL &$crl, $insertMode = FALSE) { $method = "PUT"; $url = E3_PROV_URL_TRUSTSTORE . "/crls/" . rawurlencode($crl->getId()); if ($insertMode) { $method = "POST"; $url = E3_PROV_URL_TRUSTSTORE . "/crls"; } /** * Send the XML payload the the Provisioning Backend */ LoggerInterface::log(($insertMode ? "Creating" : "Updating") . " CRL: {$crl->toXML()}\nEndpoint: ({$method}) {$url}", LoggerInterface::INFO); $reply = $this->restClient->makeCall($url, $method, $crl->toXML()); $xml = simplexml_load_string($reply->getPayload()); if ($reply->getHTTPCode() === "200") { if ($insertMode) { if ($crl->getId() == NULL) { $crl->setId((string) $xml->id); } } return $crl; } else { throw new Exception(!empty($xml->error) ? $xml->error->errorText : UNDEFINED_ERROR_TEXT); } }