R01

Установка и настройка биллинговой системы.
tasselchof
Сообщения: 168
Зарегистрирован: 2012-09-29 16:12:07

Re: R01

Сообщение tasselchof » 2012-10-16 15:44:00

Alex Keda писал(а):я юзаю

Код: Выделить всё

Debug(print_r($variable,true));

естественно, отладку включить

и события надо отключить - в .htaccess строчку раскоменнтить где редирект на яндекс идёт =)


Не всё так просто оказалось - не пашет сходу R01 API, выдаёт Uncaught SoapFault exception, разберусь.

tasselchof
Сообщения: 168
Зарегистрирован: 2012-09-29 16:12:07

Re: R01

Сообщение tasselchof » 2012-10-16 16:12:55

Не знаю где правится, но когда по дефолту заводишь R01, подставляется значение адреса API с опечаткой:

parnter_api.khtml


а надо

partner_api.khtml

Аватара пользователя
Alex Keda
Сообщения: 2907
Зарегистрирован: 2009-10-07 14:30:54
Откуда: USSR
Поблагодарили: 20 раз

Re: R01

Сообщение Alex Keda » 2012-10-16 16:37:51

Код: Выделить всё

vim +324 hosts/hosting/config/Config.xml

в репозитории поправил
Убей их всех! Бог потом рассортирует...

tasselchof
Сообщения: 168
Зарегистрирован: 2012-09-29 16:12:07

Re: R01

Сообщение tasselchof » 2012-10-16 17:26:37

Код: Выделить всё

function R01_Domain_Prolong($Settings,$DomainName,$DomainZone,$Years,$CustomerID,$DomainID){
  /****************************************************************************/
  $__args_types = Array('array','string','string','integer','string');
  #-----------------------------------------------------------------------------
  $__args__ = Func_Get_Args(); Eval(FUNCTION_INIT);
  /****************************************************************************/
  $DomainProlong = new SoapClient(null, Array(
      'location' => SPrintF('https://%s:%d/%s', $Settings['Address'], $Settings['Port'], $Settings['PrefixAPI']),
      'uri' => 'urn:RegbaseSoapInterface',
      'exceptions' => 1,
      'user_agent' => 'RegbaseSoapInterfaceClient',
      'trace' => 1
  ));

  #-----------------------------------------------------------------------------
  if(Is_SOAP_Fault($DomainProlong)){
     #---------------------------------------------------------------------------
     Debug($DomainProlong->faultstring);
    #---------------------------------------------------------------------------
     return new gException('ANSWER_ERROR','Ошибка обращения к регистратору');
  }

  #-----------------------------------------------------------------------------
  $loginResult = $DomainProlong->logIn($Settings['Login'], $Settings['Password']);
 
  #-----------------------------------------------------------------------------
  if(Is_SOAP_Fault($loginResult)){
     #---------------------------------------------------------------------------
     Debug($loginResult->faultstring);
     #---------------------------------------------------------------------------
     return new gException('ANSWER_ERROR','Ошибка авторизации.');
  }
 
  #-----------------------------------------------------------------------------
  $DomainProlong->__setCookie('SOAPClient', $loginResult->status->message);
 
  #-----------------------------------------------------------------------------
  $Domain = SPrintF('%s.%s',$DomainName, $DomainZone);

  #---------------------------------------------------------------------------
  $Params = Array(
     #---------------------------------------------------------------------------
    'domainname'              => $Domain,
    'years'                   => $Years
  );

  #-----------------------------------------------------------------------------
  Debug(Print_R($Params,TRUE));
  #-----------------------------------------------------------------------------
  $Response = $DomainProlong->prolongDomain(
   $Params['domainname'],
   $Params['years']
  );
 
  #-----------------------------------------------------------------------------
  Debug(Print_R($Response,TRUE));
  #-----------------------------------------------------------------------------
 
  if(Is_SOAP_Fault($Response)){
     #---------------------------------------------------------------------------
   //Debug($Response->faultstring);
     #---------------------------------------------------------------------------
     return new gException('ANSWER_ERROR','Ошибка обращения к регистратору.');
  }
 
  #-----------------------------------------------------------------------------
  //Debug(SPringF('Status: %s', $Response->status->name));
  #-----------------------------------------------------------------------------
  if ($Response->status->code != 1) {
     Debug($Response->status->name);
     return new gException('ANSWER_ERROR','Ошибка обращения к регистратору.');
  }
  #-----------------------------------------------------------------------------
  $TicketID = $Response->taskid;
  #-----------------------------------------------------------------------------
  Debug($TicketID);
  #-----------------------------------------------------------------------------
  $logoutResult = $DomainProlong->logOut();
  #-----------------------------------------------------------------------------
  if(Is_SOAP_Fault($logoutResult)){
     #---------------------------------------------------------------------------
     Debug($logoutResult->faultstring);
     #---------------------------------------------------------------------------
     return new gException('ANSWER_ERROR','Ошибка закрытия сессии.');
  }
  #-----------------------------------------------------------------------------
  return Array('TicketID'=>$TicketID);
}


Вообще там рефакторинг не помешал бы...

Аватара пользователя
Alex Keda
Сообщения: 2907
Зарегистрирован: 2009-10-07 14:30:54
Откуда: USSR
Поблагодарили: 20 раз

Re: R01

Сообщение Alex Keda » 2012-10-17 1:07:30

tasselchof писал(а):Вообще там рефакторинг не помешал бы...
на предмет?
--
функцию проверяли? работает?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Alex Keda
Сообщения: 2907
Зарегистрирован: 2009-10-07 14:30:54
Откуда: USSR
Поблагодарили: 20 раз

Re: R01

Сообщение Alex Keda » 2012-10-17 1:15:34

у вас там несколько одинаковых строк:

Код: Выделить всё

return new gException('ANSWER_ERROR','Ошибка обращения к регистратору.');

лучше разные делать. хотя бы _1 _2 _3 на конце добавить.
потом, когда чё-то падает - проще понять на каком именно моменте оно срубилось ....
Убей их всех! Бог потом рассортирует...

tasselchof
Сообщения: 168
Зарегистрирован: 2012-09-29 16:12:07

Re: R01

Сообщение tasselchof » 2012-10-17 1:45:52

Alex Keda писал(а):
tasselchof писал(а):Вообще там рефакторинг не помешал бы...
на предмет?
--
функцию проверяли? работает?


Ну станадрные моменты хорошо бы вынести в отдельные функции - а то там в начале каждой подсоеденимся, залогинимся и т.п.

Функция работает, я вам буду потихоньку новые присылать - по мере того, как у меня система выдает, что что-то нельзя сделать автоматом, я буду дописывать.

Аватара пользователя
Alex Keda
Сообщения: 2907
Зарегистрирован: 2009-10-07 14:30:54
Откуда: USSR
Поблагодарили: 20 раз

Re: R01

Сообщение Alex Keda » 2012-10-17 9:08:38

ОК, щас подрихтую и закоммичу
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Alex Keda
Сообщения: 2907
Зарегистрирован: 2009-10-07 14:30:54
Откуда: USSR
Поблагодарили: 20 раз

Re: R01

Сообщение Alex Keda » 2012-10-17 9:25:33

tasselchof писал(а):Ну станадрные моменты хорошо бы вынести в отдельные функции - а то там в начале каждой подсоеденимся, залогинимся и т.п.

а мысль-то дельная...
только не везде прямо это реализуется =)
Убей их всех! Бог потом рассортирует...

tasselchof
Сообщения: 168
Зарегистрирован: 2012-09-29 16:12:07

Re: R01

Сообщение tasselchof » 2012-10-17 14:23:56

Alex Keda писал(а):
tasselchof писал(а):Ну станадрные моменты хорошо бы вынести в отдельные функции - а то там в начале каждой подсоеденимся, залогинимся и т.п.

а мысль-то дельная...
только не везде прямо это реализуется =)


Ну конкретно тут это делается легко, причем как вы видите это сократит код сильно, уберет необходимость отладки входа и сделает подключение новых функций в несколько строк (утановил параметры, выбрал метод, выполнил).

Может сделаете вход всё-таки в репо, без права коммита, проще будет?


Вернуться в «Установка и настройка»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 14 гостей