2013-03-07 1 views
0

Я использую nusoap в своем приложении PHP при вызове .net webservice., когда nusoap вызывает веб-службу из приложения PHP, проблемы с таймаутом обработки

Проблема заключается в том, что в некоторых случаях для какого-либо запроса веб-служба .net занимает больше определенного времени, поэтому я хочу увеличить время ожидания вызова SOAP.

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

Спасибо, Рама

ответ

6

NuSOAP по умолчанию время ожидания составляет 30 секунд.

Увеличьте время ожидания ответа, чтобы решить эту проблему.

// creates an instance of the SOAP client object 
$client = new nusoap_client($create_url, true); 

// creates a proxy so that WSDL methods can be accessed directly 
$proxy = $client -> getProxy(); 

// Set timeouts, nusoap default is 30 
$client->timeout = 0; 
$client->response_timeout = 100; 

Примечание: эти настройки также не работают в течение некоторого времени. Поэтому я напрямую перешел на nusoap.php и изменил $ response_timeout = 120. По умолчанию это значение установлено на 30 секунд.

Это решается сейчас :)

Ссылки: Time out settings - Second reference

0

При создании istance из nusoap_client попробовать

$client = new nusoap_client($$creat_url, true,false,false,false,false,0,300); 

где все ложные параметры по умолчанию ложным, 0 является таймаутом, а 300 - response_timeout

Thanks