public function soapServer($request, $response) {/*{{{*/ $postdata = file_get_contents("php://input"); $function = 'soapServer'; $this->ioLogRecorder->addLog(XDateTime::now()->toString()." service [{$function}] ".$this->ioLogRecorder->format2SimpleLog($postdata)); $configs = ProviderConfigFactory::getProviderAppConfigs(PhoneConference::SPTYPE_HUAWEI, TeleConfProvider::APPTYPE_CONF); $callbackUrl = $configs['callbackUrl']; $server = new SoapServer(null, array('uri' => 'HuaweiConfCallback','location'=>$callbackUrl)); $server->setClass('HuaweiTeleConfApi'); try { $lockName = $this->getLockerName($postdata); $cacher= DAL::get()->getCache(Cacher::CACHETYPE_LOCKER); $locker = LockUtil::factory(LockUtil::LOCK_TYPE_MEMCACHE, array('memcache' => $cacher)); $locker->getLock($lockName); $server->handle(); $locker->releaseLock($lockName); } catch(Exception $ex) { $locker->releaseLock($lockName); } header("HTTP/1.1 202 Accepted"); header("Content-Type: text/xml;charset=UTF-8"); return parent::DIRECT_OUTPUT; }/*}}}*/
/** * splitRecordUrl 加密录音url * * @access private * @return void */ private function splitRecordUrl($url) {/*{{{*/ $configs = ProviderConfigFactory::getProviderAppConfigs(CallCenterApiFaculty::SPTYPE_TINET, TeleConfProvider::APPTYPE_CALLCENTER); $enterpriseId = $configs['enterpriseId']; $userName = $configs['username']; $pwd = $configs['pwd']; $seed = rand(0, 10000); $pwd = md5(md5($pwd).$seed); return $url."?enterpriseId=".$enterpriseId."&userName="******"&pwd=".$pwd."&seed=".$seed; }/*}}}*/