@@ -28,6 +28,12 @@ class Client implements ClientInterface
28
28
/** @var array */
29
29
private $ options ;
30
30
31
+ /** @var array */
32
+ private $ soapOptions ;
33
+
34
+ /** @var null|\SoapHeader[] */
35
+ private $ soapHeaders ;
36
+
31
37
/** @var LoggerInterface */
32
38
private $ logger ;
33
39
@@ -115,6 +121,38 @@ public function setOptions(array $options): void
115
121
$ this ->options = $ options ;
116
122
}
117
123
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
+
118
156
/**
119
157
* @return \SoapClient|null
120
158
*/
@@ -134,63 +172,63 @@ public function setSoapClient(\SoapClient $soapClient): void
134
172
/**
135
173
* @return string
136
174
*/
137
- public function getLastRequest (): string
175
+ public function getLastRequest (): ? string
138
176
{
139
177
return $ this ->lastRequest ;
140
178
}
141
179
142
180
/**
143
181
* @param string $lastRequest
144
182
*/
145
- public function setLastRequest (string $ lastRequest ): void
183
+ public function setLastRequest (? string $ lastRequest ): void
146
184
{
147
185
$ this ->lastRequest = $ lastRequest ;
148
186
}
149
187
150
188
/**
151
189
* @return string
152
190
*/
153
- public function getLastRequestHeaders (): string
191
+ public function getLastRequestHeaders (): ? string
154
192
{
155
193
return $ this ->lastRequestHeaders ;
156
194
}
157
195
158
196
/**
159
197
* @param string $lastRequestHeaders
160
198
*/
161
- public function setLastRequestHeaders (string $ lastRequestHeaders ): void
199
+ public function setLastRequestHeaders (? string $ lastRequestHeaders ): void
162
200
{
163
201
$ this ->lastRequestHeaders = $ lastRequestHeaders ;
164
202
}
165
203
166
204
/**
167
205
* @return string
168
206
*/
169
- public function getLastResponse (): string
207
+ public function getLastResponse (): ? string
170
208
{
171
209
return $ this ->lastResponse ;
172
210
}
173
211
174
212
/**
175
213
* @param string $lastResponse
176
214
*/
177
- public function setLastResponse (string $ lastResponse ): void
215
+ public function setLastResponse (? string $ lastResponse ): void
178
216
{
179
217
$ this ->lastResponse = $ lastResponse ;
180
218
}
181
219
182
220
/**
183
221
* @return string
184
222
*/
185
- public function getLastResponseHeaders (): string
223
+ public function getLastResponseHeaders (): ? string
186
224
{
187
225
return $ this ->lastResponseHeaders ;
188
226
}
189
227
190
228
/**
191
229
* @param string $lastResponseHeaders
192
230
*/
193
- public function setLastResponseHeaders (string $ lastResponseHeaders ): void
231
+ public function setLastResponseHeaders (? string $ lastResponseHeaders ): void
194
232
{
195
233
$ this ->lastResponseHeaders = $ lastResponseHeaders ;
196
234
}
@@ -226,7 +264,7 @@ protected function doSoapCall(string $method, array $input = [])
226
264
throw new \InvalidArgumentException ('Soap client is not initialized ' );
227
265
}
228
266
try {
229
- $ result = $ this ->getSoapClient ()->__soapCall ($ method , [ $ input] );
267
+ $ result = $ this ->getSoapClient ()->__soapCall ($ method , $ input, $ this -> getSoapOptions (), $ this -> getSoapHeaders () );
230
268
} /** @noinspection PhpRedundantCatchClauseInspection */ catch (\SoapFault $ e ) {
231
269
$ this ->getLastRequestTrace ();
232
270
$ this ->getLogger ()->alert (
0 commit comments