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; }/*}}}*/
public function setProviderConfigs($request, $response) { if (!$this->curOperator->isOperatorAdmin()) { throw new TelConfException('抱歉,此座席无权限查看!'); } $spType = $request->spType; $appType = $request->appType; DBC::requireNotEmptyString($spType, 'spType不能为空'); DBC::requireNotEmptyString($appType, 'appType不能为空'); $response->callcenterProvider = DAL::get()->find_by_sptype('teleconfprovider', $spType); $providerConfig = ProviderConfigFactory::createProviderConfig($spType, $appType); $response->appUrlList = $providerConfig->returnAppUrlList(); }
/** * 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; }/*}}}*/
public function setProviderConfigs($request, $response) {/*{{{*/ DBC::requireTrue(in_array($this->curUser->name,array('byteh','miaoqing1983','zhb110good')),'没有权限,亲!'); $spType = $request->spType; $appType = $request->appType; DBC::requireNotEmptyString($spType, "spType不能为空"); DBC::requireNotEmptyString($appType, "appType不能为空"); $response->teleProvider = DAL::get()->find_by_sptype_and_apptype('teleconfprovider', $spType, $appType); $providerConfig = ProviderConfigFactory::createProviderConfig($spType, $appType); $response->appUrlList = $providerConfig->returnAppUrlList(); }/*}}}*/