@@ -28,6 +28,12 @@ class Client implements ClientInterface
2828 /** @var array */
2929 private $ options ;
3030
31+ /** @var array */
32+ private $ soapOptions ;
33+
34+ /** @var null|\SoapHeader[] */
35+ private $ soapHeaders ;
36+
3137 /** @var LoggerInterface */
3238 private $ logger ;
3339
@@ -115,6 +121,38 @@ public function setOptions(array $options): void
115121 $ this ->options = $ options ;
116122 }
117123
124+ /**
125+ * @return array|null
126+ */
127+ public function getSoapOptions (): ?array
128+ {
129+ return $ this ->soapOptions ;
130+ }
131+
132+ /**
133+ * @param array|null $soapOptions
134+ */
135+ public function setSoapOptions (array $ soapOptions = null ): void
136+ {
137+ $ this ->soapOptions = $ soapOptions ;
138+ }
139+
140+ /**
141+ * @return \SoapHeader[]|null
142+ */
143+ public function getSoapHeaders (): ?array
144+ {
145+ return $ this ->soapHeaders ;
146+ }
147+
148+ /**
149+ * @param \SoapHeader[]|null $soapHeaders
150+ */
151+ public function setSoapHeaders (array $ soapHeaders = null ): void
152+ {
153+ $ this ->soapHeaders = $ soapHeaders ;
154+ }
155+
118156 /**
119157 * @return \SoapClient|null
120158 */
@@ -134,63 +172,63 @@ public function setSoapClient(\SoapClient $soapClient): void
134172 /**
135173 * @return string
136174 */
137- public function getLastRequest (): string
175+ public function getLastRequest (): ? string
138176 {
139177 return $ this ->lastRequest ;
140178 }
141179
142180 /**
143181 * @param string $lastRequest
144182 */
145- public function setLastRequest (string $ lastRequest ): void
183+ public function setLastRequest (? string $ lastRequest ): void
146184 {
147185 $ this ->lastRequest = $ lastRequest ;
148186 }
149187
150188 /**
151189 * @return string
152190 */
153- public function getLastRequestHeaders (): string
191+ public function getLastRequestHeaders (): ? string
154192 {
155193 return $ this ->lastRequestHeaders ;
156194 }
157195
158196 /**
159197 * @param string $lastRequestHeaders
160198 */
161- public function setLastRequestHeaders (string $ lastRequestHeaders ): void
199+ public function setLastRequestHeaders (? string $ lastRequestHeaders ): void
162200 {
163201 $ this ->lastRequestHeaders = $ lastRequestHeaders ;
164202 }
165203
166204 /**
167205 * @return string
168206 */
169- public function getLastResponse (): string
207+ public function getLastResponse (): ? string
170208 {
171209 return $ this ->lastResponse ;
172210 }
173211
174212 /**
175213 * @param string $lastResponse
176214 */
177- public function setLastResponse (string $ lastResponse ): void
215+ public function setLastResponse (? string $ lastResponse ): void
178216 {
179217 $ this ->lastResponse = $ lastResponse ;
180218 }
181219
182220 /**
183221 * @return string
184222 */
185- public function getLastResponseHeaders (): string
223+ public function getLastResponseHeaders (): ? string
186224 {
187225 return $ this ->lastResponseHeaders ;
188226 }
189227
190228 /**
191229 * @param string $lastResponseHeaders
192230 */
193- public function setLastResponseHeaders (string $ lastResponseHeaders ): void
231+ public function setLastResponseHeaders (? string $ lastResponseHeaders ): void
194232 {
195233 $ this ->lastResponseHeaders = $ lastResponseHeaders ;
196234 }
@@ -226,7 +264,7 @@ protected function doSoapCall(string $method, array $input = [])
226264 throw new \InvalidArgumentException ('Soap client is not initialized ' );
227265 }
228266 try {
229- $ result = $ this ->getSoapClient ()->__soapCall ($ method , [ $ input] );
267+ $ result = $ this ->getSoapClient ()->__soapCall ($ method , $ input, $ this -> getSoapOptions (), $ this -> getSoapHeaders () );
230268 } /** @noinspection PhpRedundantCatchClauseInspection */ catch (\SoapFault $ e ) {
231269 $ this ->getLastRequestTrace ();
232270 $ this ->getLogger ()->alert (
0 commit comments