Я борюсь с сумасшедшим поведением:
Я хочу отправить ответ с помощью SoapServer, но когда данные становятся слишком большими, я получаю пустой ответ (протестировано с soapUI)
Ответ с сервера:
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Encoding: gzip
Vary: Accept-Encoding
Date: Sat, 15 Apr 2017 00:54:26 GMT
Connection: close
Content-Length: 0
в журналах ошибок нет ошибок, нет проблем синхронизации
я построил статический ответ для тестирования:
$array=(object)
[
(object)
[
'CallDirection' => 'Inbound',
'CallHangUpDateTime' => "2017-04-11 11:11:11"],
(object)
[
'CallDirection' => 'Inbound',
'CallHangUpDateTime' => "2017-04-11 11:11:11"]
];
как только массив получает более 52 элементов (все то же самое для тестирования), ответ становится пустым
когда элементы имеют больше элементов, количество рабочих элементов меньше (например, 31)
Массив будет возвращен в следующем коде:
$test = new getDialerTimeLineCallsResult((object)
[
'DialerOrderCallResults' => (object) $array,
'ServiceResult' => (object)
[
'ServiceCode' => 0,
'ServiceDuration' => 0,
'ServiceMessage' => "test",
'ServiceReference' => $ServiceReference,
'ServiceSuccess' => $result
]
]);
$test = new SoapVar($test,SOAP_ENC_OBJECT, null, null, 'getDialerTimeLineCallsResult');
return $test;
я написал несколько шагов, чтобы убедиться, что $ test в конце концов содержит мыльницу, и это так!
но как только результат станет слишком большим, ответ будет пустым
я проверил, что нет ограничений памяти, нет ошибок в журнале ошибок, нет проблемы синхронизации, проверено на 2 серверах под управлением PHP5.x, Windows и Linux, тот же результат
Кто-нибудь знает, почему это происходит?
Задача ещё не решена.
Других решений пока нет …