private function processInvocationError(Session $session, ErrorMessage $msg)
{
$call = $this->getCallByRequestId($msg->getRequestId());
if (!$call) {
$errorMsg = ErrorMessage::createErrorMessageFromMessage($msg);
$this->manager->error('No call for invocation error message: ' . $msg->getRequestId());
// TODO: do we send a message back to the callee?
$errorMsg->setErrorURI('wamp.error.no_such_procedure');
$session->sendMessage($errorMsg);
return false;
}
$this->calls->detach($call);
$errorMsg = ErrorMessage::createErrorMessageFromMessage($call->getCallMessage());
$errorMsg->setErrorURI($msg->getErrorURI());
$errorMsg->setArguments($msg->getArguments());
$errorMsg->setArgumentsKw($msg->getArgumentsKw());
$call->getCallerSession()->sendMessage($errorMsg);
}