2010-07-16 2 views
0

У меня есть приложение Php, работающее на моем «сервере А», которое потребляет веб-службу .NET, размещенную на моем «сервере Б». По какой-то причине иногда IIS на моем «B-сервере» не отвечает, и на моем веб-приложении Php требуется ровно 60 секунд, чтобы загрузить страницу, на которой выполняется вызов webservice. Я хочу, чтобы иметь возможность изменить эти 60 секунд, потому что слишком долго для моих клиентов ждать. Также, если есть способ поймать somekind исключения, было бы здорово.Nusoap не бросает исключение, когда мой веб-сервис не работает!

я судимое что-то вроде этого, но NuSOAP не бросать любые исключения, если веб-служба не отвечает:

try{ 
    $result = $client->call("GetTopSellersFromCategory", $parametros); 
    return $result; 
} 
catch (Exception $ex) 
{ 
     /*$mensaje= ($ex->getMessage()); 
     $codigo= ($ex->getCode()); 
     $fichero= ($ex->getFile()); 
     $linea= ($ex->getLine()); 
     $log_mensaje= date("H:i d-m-Y")." Error:: $codigo en $fichero en la linea $linea. Error $mensaje";*/ 
     return "error"; 
} 

Заранее спасибо за любую помощь вы можете дать мне.

Приветствия

Juan

+0

NuSOAP может не дать вам достаточного контроля. Если вы можете перейти на уровень CURL, у вас будет намного больше контроля над фактическим запросом, отправленным на сервер. – funwhilelost

+0

Спасибо! Не могли бы вы рассказать мне, как вызвать .NET Webservice через SOAP с помощью cURL? возможно, пример кода. еще раз спасибо – juanreyesv

ответ

0

ищет другое решение этой проблемы я нашел это http://phptoys.com/e107_plugins/content/content.php?content.41

Я просто использовать эту функцию, чтобы проверить, если мой веб-сервер работает перед вызовом WebMethods на моем веб-сервиса , Если выполняется, тогда выполняется SOAP-вызов (с помощью NuSOAP), если DOWN выполняет работу ... Но вы всегда можете настроить параметр тайм-аута в функции fsockopen, чтобы ускорить приложение для обслуживания этой страницы.

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

  • Нет связанных вопросов^_^