@@ 51-70 (lines=20) @@ | ||
48 | */ |
|
49 | protected $errorMessage; |
|
50 | ||
51 | public function init() |
|
52 | { |
|
53 | $this->xml = $this->body['xml']; |
|
54 | $this->xmlDoc = new \SimpleXMLElement($this->xml); |
|
55 | $this->version = (string)$this->xmlDoc['version']; |
|
56 | $this->date = \DateTimeImmutable::createFromFormat(DATE_RFC3339, (string)$this->xmlDoc->Header->Date); |
|
57 | if ($this->date === false) { |
|
58 | $exception = new XmlException('The date format is wrong in xml header'); |
|
59 | $exception->setXmlElement($this->xmlDoc); |
|
60 | throw $exception; |
|
61 | } |
|
62 | $this->path = (string)$this->xmlDoc->Header->Path; |
|
63 | $this->errorCode = (int)$this->xmlDoc->Header->ErrorCode; |
|
64 | $this->errorMessage = (string)$this->xmlDoc->Header->ErrorMessage; |
|
65 | ||
66 | /** @var \SimpleXMLElement $body */ |
|
67 | $body = $this->xmlDoc->Body; |
|
68 | ||
69 | $this->hydrateTransactions($body); |
|
70 | } |
|
71 | } |
@@ 71-87 (lines=17) @@ | ||
68 | * @param PsrResponseInterface $response |
|
69 | * @throws XmlException |
|
70 | */ |
|
71 | public function __construct(PsrResponseInterface $response) |
|
72 | { |
|
73 | $this->response = $response; |
|
74 | $this->xml = (string)$this->response->getBody(); |
|
75 | $this->xmlDoc = new \SimpleXMLElement($this->xml); |
|
76 | $this->version = (string)$this->xmlDoc['version']; |
|
77 | $this->date = \DateTimeImmutable::createFromFormat(DATE_RFC3339, (string)$this->xmlDoc->Header->Date); |
|
78 | if ($this->date === false) { |
|
79 | $exception = new XmlException('The date format is wrong in xml header'); |
|
80 | $exception->setXmlElement($this->xmlDoc); |
|
81 | throw $exception; |
|
82 | } |
|
83 | $this->path = (string)$this->xmlDoc->Header->Path; |
|
84 | $this->errorCode = (int)$this->xmlDoc->Header->ErrorCode; |
|
85 | $this->errorMessage = (string)$this->xmlDoc->Header->ErrorMessage; |
|
86 | $this->init(); |
|
87 | } |
|
88 | ||
89 | /** |
|
90 | * @return bool |