2015-08-26 2 views
0

Я использую библиотеку https://github.com/jamesiarmes/php-ews для доступа к моей учетной записи обмена.Обработка исключений ExchangeWebServices php-ews

Если я использовал правильные учетные данные для создания объекта ExchangeWebServices, я получаю точный ответ.

$ews = new ExchangeWebServices("outlook.office365.com", "[email protected]", "test123"); 

$request = new EWSType_FindItemType(); 

$response = $ews->FindItem($request); 

Но если учетные данные неверны это ломает сайт, бросая исключение, как

EWS_Exception: SOAP client returned status of 401 in ExchangeWebServices->processResponse() 

Есть ли способ, чтобы получить ответ, как «не удалось» или какой-то логическое значение вместо ошибки сообщение?

ответ

1

Там нет никакого способа, чтобы получить ответ, как логическое значение, но вы можете сделать что-то вроде

$ews = new ExchangeWebServices("outlook.office365.com", "[email protected]", "test123"); 

$request = new EWSType_FindItemType(); 

try { 
    $response = $ews->FindItem($request); 
} catch (\Exception $e) { 
    //The response failed. 
} 

Кроме того, эта версия PHP-EWS устарело и никто не поддерживался. Могу я предложить вам попробовать https://github.com/Garethp/php-ews

+0

Спасибо parker :) Я бы использовал предложенную вами библиотеку. Есть ли разница в Btwn, которую я использую, и это? –

+0

Справедливая разница, да. Общая структура одна и та же, но есть биты, которые упрощаются в использовании, но если вы хотите, вы можете просто использовать ее так же, как тот, который вы используете в данный момент. Вы все еще можете сделать $ ews = new ExchangeWebServices ($ server, $ username, $ password); $ Ews-> FindItem(); хоть. –

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