Мы просто перешли на новый сервер, чтобы получить tls 1.2. Для нового сервера требуется php 5.6. По большей части работает мой код. Пара исключений. У меня есть два процесса API SOAP от разных поставщиков. Один работает отлично, другой возвращает это:
Error: [email protected] returned no data
Средняя часть этого является токеном API, который используется для захвата потока данных в ответе. Проблема заключается в получении маркера, остальная часть ответа пуста. Вот соответствующий код, основанный на этом API Five9: как извлекать отчеты с использованием SOAP API и базовой проверки подлинности
$runReportResult = $client->runReport($runReportParam);
if(isset($runReportResult->return)){
$runReportData = $runReportResult->return;
$isReportRunningParam["identifier"] = $runReportData;
$isReportRunningParam["timeout"] = 10;
$isReportRunningResult = $client->isReportRunning($isReportRunningParam);
if(empty($isReportRunningResult->return)){
$getReportResultParam["identifier"] = $runReportData;
$getReportResult = $client->getReportResult($getReportResultParam);
if(isset($getReportResult->return->records)){
$getReportResultData = $getReportResult->return->records;
// data processing stuff removed for clarity
} else {
echo "Error: " . $runReportData . " returned no data";
}
} else {
echo "Error: " . $runReportData . " exceeded the report runtime limit";
}
} else {
echo "Error: " . $runReportParam["reportName"] . " wasn't found";
}
Эта строка последовательно выводится на новый сервер.
echo "Ошибка:". $runReportData. "нет данных";
$ runReportData - это значение токена, которое изменяется, поэтому я получаю ответ, но реальные данные его не делают. Это должна быть проблема с сервером, просто нужно немного помочь отслеживать ее.