Vérification fichier de cache vide ou xml erronné
This commit is contained in:
parent
30850d7a01
commit
e1a35d1e1e
|
@ -93,6 +93,16 @@ class WsdlDownloader
|
||||||
if ($isRemoteFile || $this->resolveRemoteIncludes) {
|
if ($isRemoteFile || $this->resolveRemoteIncludes) {
|
||||||
$cacheFilePath = $this->cacheDir.DIRECTORY_SEPARATOR.'wsdl_'.md5($wsdl).'.cache';
|
$cacheFilePath = $this->cacheDir.DIRECTORY_SEPARATOR.'wsdl_'.md5($wsdl).'.cache';
|
||||||
|
|
||||||
|
if (file_exists($cacheFilePath)) {
|
||||||
|
clearstatcache();
|
||||||
|
$xml = \XMLReader::open($cacheFilePath);
|
||||||
|
$xml->setParserProperty(\XMLReader::VALIDATE, true);
|
||||||
|
if (!filesize($cacheFilePath) || !$xml->isValid()) {
|
||||||
|
unlink($cacheFilePath);
|
||||||
|
throw new \Exception('There is something wrong with the WSDL file formatting. The file has been deleted from the cache and will be downloaded again on the next request.');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!$this->cacheEnabled || !file_exists($cacheFilePath) || (filemtime($cacheFilePath) + $this->cacheTtl) < time()) {
|
if (!$this->cacheEnabled || !file_exists($cacheFilePath) || (filemtime($cacheFilePath) + $this->cacheTtl) < time()) {
|
||||||
if ($isRemoteFile) {
|
if ($isRemoteFile) {
|
||||||
// execute request
|
// execute request
|
||||||
|
|
Loading…
Reference in New Issue