2009-12-07 2 views
0

У меня есть простой класс, который возвращает результаты из выбранных классов. У пользователя db есть только привилегии выбора.SOAPClient выдает ошибку при передаче слишком большого количества данных

Класс доступен через SOAP, поэтому третьи стороны могут запросить базу данных для создания средств отчетности.

Проблема заключается в том, что PHP SoapClient вызывает исключение SoapFault, когда я пытаюсь выбрать слишком много строк. На столе с примерно 10 столбцами с небольшими частями данных я могу выбрать только около 80 строк.
Ответ возвращение мыло имеет общий размер 134Кб, что, очевидно, не очень ...

Я попытался установить ини параметры как max_input_time, memory_limit и max_execution_time, но ничего hapened ...

Почему SoapClient терпит неудачу?

Ошибка брошено: (Fatal error: Uncaught SoapFault exception: [Client] looks like we got no XML document

+0

Можете ли вы уточнить, что «не удается»? Есть ли сообщение об ошибке/исключении, которое может пролить свет на проблему? – VolkerK

ответ

0

Класс SoapClient имеет ошибки я не смог исправить я установить default_socket_timeout они писали в руководстве, но только эффект, что SoapFault исчез

...

Я решил проблему с завитком и ручной XML с этими настройками:

ini_set('default_socket_timeout',120); //2 minutes for downloading the data 
ini_set('memory_limit','256M'); //increase memory limit 
ignore_user_abort(true); //abort user ignore 
set_time_limit(0); //set execution time infinite 
curl_setopt($connection,CURLOPT_TIMEOUT,120); //2 minutes timeout 

классы SoapClient и SoapServer имеют много ошибок (отказ тайм-аут, без проверки XSD, и т.д ...), так что если вы может, затем ch Еще одна альтернатива.

Смежные вопросы