Проблемы с curl и soap

На сайте есть некий функционал с soap. Через класс SoapClient отправляется некий запрос, в ответ приходят данные. Всё это работало отлично пока что-то не случилось и при попытке отправки soap запроса не начала вылетать ошибка Parsing WSDL: Couldn't load from '...' : failed to load external entity "...". Сайт развёрнут на локали в OpenServer. В нём всё работает как надо. Проблема только на глобальном сайте. Решил попробовать отправить soap через curl. Написал вот такой код:

$xml = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/" xmlns:tec="http://schemas.datacontract.org/2004/07/TechInspection.Domain.DataContracts">
   <soapenv:Header/>
   <soapenv:Body>
      ...
   </soapenv:Body>
</soapenv:Envelope>';

        $url = "url";
        $ch = curl_init();

        $headers = [
            'Content-Type: text/xml; charset=utf-8',
            'Accept: text/xml',
            'Cache-Control: no-cache',
            'Pragma: no-cache',
            'Content-Length: ' . strlen($xml)
        ];

        $options = [
            CURLOPT_URL => $url,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_HEADER => true,
            CURLOPT_FOLLOWLOCATION => true,
            CURLOPT_ENCODING => "",
            CURLOPT_AUTOREFERER => true,
            CURLOPT_CONNECTTIMEOUT => 120,
            CURLOPT_TIMEOUT => 120,
            CURLOPT_MAXREDIRS => 10,
            CURLOPT_POST => true,
            CURLOPT_SSL_VERIFYPEER => false,
            CURLOPT_SSL_VERIFYHOST => false,
            CURLOPT_POSTFIELDS => "$xml",
            CURLOPT_HTTPHEADER => $headers
        ];
        curl_setopt_array($ch, $options);
        $response = curl_exec($ch);
        $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        var_dump(curl_error($ch));
        curl_close($ch);
        var_dump($code);
        var_dump($response);
        die;

Снова на локали всё работает нормально. Первый var_dump возвращает пустую строку, второй - код 200, третий - тело ответа. Пробую на сайте - валятся различные ошибки, код ответа 0, тело ответа - false.

Ошибки следующие:

Network file descriptor is not connected

curl TCP connection reset by peer

OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to

Пробовал поиграться с прокси, добавлял в curl разные бесплатные прокси. Локально - всё ок. Глобально на сайте - разнообразные ошибки типа "Received HTTP code 400 from proxy after CONNECT" и тд.

Подскажите куда копать. Есть подозрение что на сервере что-то отключено, заблокированы порты, соединение блочит файрвол, ip банится на стороне soap-сервиса и другие мистические догадки в которых я не очень сильно разбираюсь. Буду благодарен за любой ответ


Ответы (0 шт):