function __construct(Gpf_Rpc_Params $params) { $this->methodName = $params->getMethod(); $this->className = $params->getClass(); $reflectionClass = new ReflectionClass($this->className); $reflectionMethod = $reflectionClass->getMethod($this->methodName); if (!$reflectionMethod->isPublic()) { throw new Gpf_Exception($this->className . '->' . $this->methodName . '() is not a service method (not public)'); } $this->annotations = new Gpf_Rpc_Annotation($reflectionMethod); if (!$this->annotations->hasServiceAnnotation()) { throw new Gpf_Exception($this->className . '->' . $this->methodName . '() is not a service method (annotation)'); } $this->initSession($params->getSessionId()); $this->createInstance(); }