Относительно FUD о "пределе 1000 байтов" ... Я посмотрел исходный код nusoap_client и обнаружил, что ограничение действует только для отладочных выходных данных .
Это означает, что все данные обрабатываются и передаются веб-службе (независимо от их размера), но в журнале отладки отображаются только первые 1000 байтов (или, точнее: символов).
Вот код:
$this->debug('SOAP message length=' . strlen($soapmsg) . ' contents (max 1000 bytes)=' . substr($soapmsg, 0, 1000));
// send
$return = $this->send($this->getHTTPBody($soapmsg),$soapAction,$this->timeout,$this->response_timeout);
Как ясно видно, вызов getHTTPBody()
использует целое значение $soapmsg
, и только выходные данные отладки ограничены первыми 1000 символами. Если вы хотите изменить это, просто измените вызов substr()
, чтобы он соответствовал вашим потребностям, или просто замените его на $soapmsg
(чтобы все выводилось и в выводе отладки).
Это не должно иметь абсолютно никакого отношения к какому-либо реальному ограничению фактически отправляемых данных. Конечно, могут быть и другие факторы, фактически ограничивающие размер отправляемой вами информации (например, ограничение ОЗУ, установленное для вашего PHP-скрипта, ограничения вашей реализации HTTP или нехватка доступной виртуальной памяти), но принимать это как должное нет такая вещь, как «ограничение в 1000 байт» для данных, которые вы можете отправить с помощью NuSOAP.