Я использую PHP-клиент Apache Chemistry с локальным репозиторием Alfresco с протоколом http более 8080 и могу подключиться к репо.
Однако, когда я пытаюсь использовать ту же библиотеку поверх другого хранилища Alfresco по протоколу https (порт 8443), я получаю следующее исключение:
[26-Jun-2016 01:51:10 Европа / Мадрид] Неустранимая ошибка PHP: необработанное исключение «CmisRuntimeException» в /Example/cmis/cmis_repository_wrapper.php:176
Трассировки стека:
#0 /Example/cmis/cmis_repository_wrapper.php(210): CMISRepositoryWrapper->convertStatusCode(0, false)
#1 /Example/cmis/cmis_repository_wrapper.php(191): CMISRepositoryWrapper->doGet('http://192.168....')
#2 /Example/cmis/cmis_repository_wrapper.php(128): CMISRepositoryWrapper->connect('http://192.168....', 'angel', '123456', NULL)
#3 /Example/cmis/cmis_service.php(143): CMISRepositoryWrapper->__construct('http://192.168....', 'angel', '123456', NULL, Array)
Я вижу, что функция doGet использует URL-адрес «http», но мое строковое соединение с https.
В чем проблема? Тот же код с хранилищем Alfresco по протоколу http является правильным.
Я использую докер Alfresco image.
Я нашел одно решение.
Если я изменю файл cmis_repository_wrapper.php, метод doRequest и добавлю это:
curl_setopt($session, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($session, CURLOPT_SSL_VERIFYPEER, true);
Все идет правильно.
Итак, я думаю, что проблема в том, что мой тестовый сайт на открытом воздухе https: // ….. сертификат не проверен, поэтому он не работает правильно.
Других решений пока нет …