2016-01-08 1 views
0

В настоящее время я установил openfire на свой сервер и начал его использовать. Я попытался создать пользователя в openfire с помощью Restapi. И я получил результат, как я ожидал.Как обрабатывать исключение в OpenFire Restapi в php?

Теперь я попытался создать пользователя с именем пользователя «abcdef», который уже существует. Я хочу сообщение, в котором говорится, что «имя пользователя уже существует», но вместо этого я получаю исключение.

Исключение:

Uncaught exception 'GuzzleHttp\Exception\ClientException' with message 'Client error response [url] http://myip:9090/plugins/restapi/v1/users [status code] 409 [reason phrase] Conflict' in /var/www/html/open_fire_internal/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:88 

Сообщение от исключения:

Client error response [url] http://myip:9090/plugins/restapi/v1/users [status code] 409 [reason phrase] Conflict

трассировки стека:

#0 [...]/vendor/guzzlehttp/guzzle/src/Subscriber/HttpError.php(33): GuzzleHttp\Exception\RequestException::create(Object(GuzzleHttp\Message\Request), Object(GuzzleHttp\Message\Response)) 
#1 [...]/vendor/guzzlehttp/guzzle/src/Event/Emitter.php(109): GuzzleHttp\Subscriber\HttpError->onComplete(Object(GuzzleHttp\Event\CompleteEvent), 'complete') 
#2 [...]/vendor/guzzlehttp/guzzle/src/RequestFsm.php(91): GuzzleHttp\Event\Emitter->emit('complete', Object(GuzzleHttp\Event\CompleteEvent)) 
#3 [...]/vendor/guzzlehttp/guzzle/src/RequestFsm.php(132): GuzzleHttp\RequestFsm->__invoke(Object(GuzzleHttp\Transaction))in /var/www/html/open_fire_internal/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php on line 88 

Так может кто-нибудь помочь мне преодолеть от этой проблемы?

+0

Вы можете показать свой код! –

+0

'include" ../ vendor/autoload.php ";' '// Создать объект api Openfire Rest api ' $ api = new Gidkom \ OpenFireRestApi \ OpenFireRestApi; ' ' // Добавить нового пользователя в OpenFire и добавить в группу '$ result = $ api-> addUser ('kandan', 'mani');' '// Проверить результат, если команда успешна' ' if ($ result ['status']) { ' ' // Отображать результат и проверять, является ли это ошибкой или правильным ответом' 'echo 'Success:';' 'echo $ result ['message'];' '} else {' '// Что-то пошло не так, вероятно, проблемы с подключением' 'echo 'Ошибка:';' 'echo $ result ['message'];' '}' –

+0

, когда имя пользователя не существует в openfire, я получаю сообщение об успехе, но когда имя пользователя существует в openfire, я получаю это исключение. –

ответ

1

Сначала проверьте, является ли пользователь существует или нет, чем добавить их

$user = $api->getuser($username); 

if(!$user) 
{ 
$result = $api->addUser('Username', 'Password', 'Real Name', '[email protected]', array('Group 1')); 

// Check result if command is succesful 
if($result) { 
    // Display result, and check if it's an error or correct response 
    echo ($result['result']) ? 'Success: ' : 'Error: '; 
    echo $result['message']; 
} else { 
    // Something went wrong, probably connection issues 
} 
} 
else 
{ 

echo 'user already exists'; 
} 

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

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