如何处理 php 中 OpenFire Restapi 中的异常?
How to handle the exception in OpenFire Restapi in php?
目前我在我的服务器上安装了openfire并开始使用它。我尝试使用 Restapi 在 openfire 中创建一个用户。我得到了预期的输出。
现在我尝试使用已经存在的用户名 "abcdef" 创建一个用户。我想要一条显示 "username already exists" 的消息,但我却收到异常消息。
异常:
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
谁能帮我解决这个问题?
首先检查用户是否存在然后添加他们
$user = $api->getuser($username);
if(!$user)
{
$result = $api->addUser('Username', 'Password', 'Real Name', 'email@email.tld', 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';
}
目前我在我的服务器上安装了openfire并开始使用它。我尝试使用 Restapi 在 openfire 中创建一个用户。我得到了预期的输出。
现在我尝试使用已经存在的用户名 "abcdef" 创建一个用户。我想要一条显示 "username already exists" 的消息,但我却收到异常消息。
异常:
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
谁能帮我解决这个问题?
首先检查用户是否存在然后添加他们
$user = $api->getuser($username);
if(!$user)
{
$result = $api->addUser('Username', 'Password', 'Real Name', 'email@email.tld', 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';
}