From c5ad4391c90ed094b69b27b0f49a17cf91509523 Mon Sep 17 00:00:00 2001 From: c266 Date: Tue, 16 Jun 2026 23:45:29 +0200 Subject: [PATCH] fix: support PHP 8.5 __doRequest() signature PHP 8.5 added a trailing optional `?string $uriParserClass = null` parameter to SoapClient::__doRequest(). The override in ParallelSoapClient kept the pre-8.5 signature, which makes the class fatal at load time on PHP 8.5 (incompatible signature). Add the (unused) parameter to match the parent. Being optional and trailing, the change stays backward compatible with PHP 8.0-8.4. Fixes #179 --- src/ParallelSoapClient.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ParallelSoapClient.php b/src/ParallelSoapClient.php index aaf161a..6c1fa53 100644 --- a/src/ParallelSoapClient.php +++ b/src/ParallelSoapClient.php @@ -265,10 +265,11 @@ public function __construct($wsdl, array $options = null) * @param string $action The SOAP action * @param int $version The SOAP version * @param bool $oneWay If one_way is set to 1, this method returns nothing. Use this where a response is not expected + * @param string|null $uriParserClass The URI parser class added by PHP 8.5; unused here, kept for signature compatibility * * @return string */ - public function __doRequest(string $request, string $location, string $action, int $version, bool $oneWay = false): ?string + public function __doRequest(string $request, string $location, string $action, int $version, bool $oneWay = false, ?string $uriParserClass = null): ?string { $shouldGetResponse = ($this->soapMethod == static::GET_RESPONSE_CONST);