Значение запроса Yii 1 изменяется при вставке значения, даже если запрос был ранее выполнен на SOAP WS - PullRequest
0 голосов
/ 12 февраля 2020

Я вызываю SOAP WS-метод, написанный на PHP, который должен вызываться только один раз, при первом вызове он создает в базе данных запись, которая выдает сообщения об ошибках от WS в случае его вызывается снова

проблема возникает, когда я вызываю службу, поскольку она всегда выбирает путь else условия, даже если он вызывается впервые, изучая поток выполнения, я вижу, что когда $ this -> createRequest ($ PARAMS); он всегда создает запись и изменяет значение $ model на ненулевое значение, выдавая ошибку, поскольку это был не первый вызов

мой код:

public function wsMethod(){
$model = Certificate::model()->find('codeValidate = :code',[':code' => $params->codeValidate]);
if(!is_null($model)){
    throw new SoapFault(self::ERROR_VAL_3['code'], self::ERROR_VAL_3['message']);
}else{
    $this->createRequest($params);
    return ['code' => self::SUCCESS_VAL_1['code'], 'message' => self::SUCCESS_VAL_1['message']];
}
}```

1 Ответ

0 голосов
/ 13 февраля 2020

Пожалуйста, измените код следующим образом:

public function wsMethod(){
$model = Certificate::model()->find('codeValidate = :code',[':code' => $params->codeValidate]);
  if($model){
    $this->createRequest($params);
      return ['code' => self::SUCCESS_VAL_1['code'], 'message' => self::SUCCESS_VAL_1['message']];

  }else{
      throw new SoapFault(self::ERROR_VAL_3['code'], self::ERROR_VAL_3['message']);
  }
}
...