private function processExceptionFromRPCCall(ClientSession $session, InvocationMessage $msg, $registration, \Exception $e)
{
if ($e instanceof WampErrorException) {
$errorMsg = ErrorMessage::createErrorMessageFromMessage($msg);
$errorMsg->setErrorURI($e->getErrorUri());
$errorMsg->setArguments($e->getArguments());
$errorMsg->setArgumentsKw($e->getArgumentsKw());
$errorMsg->setDetails($e->getDetails());
$session->sendMessage($errorMsg);
return;
}
$errorMsg = ErrorMessage::createErrorMessageFromMessage($msg);
$errorMsg->setErrorURI($registration['procedure_name'] . '.error');
$errorMsg->setArguments([$e->getMessage()]);
$errorMsg->setArgumentsKw($e);
$session->sendMessage($errorMsg);
}