Example #1
0
 /**
  * Получене отчета
  * @param $inn
  * @return SimpleXMLElement
  */
 public function Statement($inn)
 {
     $client = new SoapClient($this->wsdlUrl, array("trace" => 1, "exceptions" => 0));
     $AuthCredentialHeader = array('UserName' => $this->UserName, 'Password' => $this->Password);
     $uthenticationIdentity = array("Name" => $this->Name, 'Key' => $this->Key);
     $headers = array();
     $headers[] = new SoapHeader($this->url, 'AuthenticationCredential', $AuthCredentialHeader, 'false');
     $headers[] = new SoapHeader($this->url, 'AuthenticationIdentity', $uthenticationIdentity, 'false');
     $client->__setSoapHeaders($headers);
     $result = $client->Statement(array('forID' => $inn));
     //проверка на соеденения
     //        $this->prn($result);
     //        $this->prn($result->faultcode);
     if (is_soap_fault($result)) {
         if ($result->faultcode == 'StatementFailed') {
             $this->result['zona'] = 1;
             $this->result['messege'] = 'Неправельный код ИНН.';
             $this->result['status'] = false;
             return $this->result;
         } elseif ($result->faultcode == 'soap:Server') {
             $this->result['zona'] = 1;
             $this->result['messege'] = 'Ошибка при виполнении запроса в ПВБКИ';
             $this->result['status'] = false;
             return $this->result;
         }
     }
     $arr = (array) $result;
     $load = simplexml_load_string($arr["Report-StatementResult"]);
     //        $this->prn($load->);
     //проверка на данные
     if (isset($load->Contract) && !empty($load->Contract)) {
         $this->result['zona'] = 0;
         $this->result['messege'] = 'В базе ПВБКИ нет информации про клиента.';
         $this->result['status'] = false;
         return $this->result;
     }
     //провенрка на ощибки
     //todo:реалезовать даный метод
     if ($this->debag) {
         $this->writeFile('tmp/PvbkiResult.xml', $arr["Report-StatementResult"]);
     }
     return $this->getOverdueAmount($load);
 }