(PHP 5, PHP 7, PHP 8)
SoapClient::__doRequest — Выполняет SOAP-запрос
$request,$location,$action,$version,$oneWay = falseВыполняет SOAP-запрос поверх HTTP.
Этот метод может быть переопределён в подклассах для реализации других транспортных уровней, выполнения дополнительной обработки XML или других целей.
requestЗапрос XML SOAP.
locationURL для запроса.
actionДействие SOAP.
versionВерсия SOAP.
oneWay
Если oneWay равен true, метод ничего не возвращает.
Этот параметр используется, когда не ожидается ответа.
Ответ XML SOAP.
Пример #1 Пример использования SoapClient::__doRequest()
<?php
function Add($x, $y)
{
return $x + $y;
}
class LocalSoapClient extends SoapClient
{
private $server;
function __construct($wsdl, $options)
{
parent::__construct($wsdl, $options);
$this->server = new SoapServer($wsdl, $options);
$this->server->addFunction('Add');
}
function __doRequest(
$request,
$location,
$action,
$version,
$one_way = false,
): ?string {
ob_start();
$this->server->handle($request);
$response = ob_get_contents();
ob_end_clean();
return $response;
}
}
$x = new LocalSoapClient(
null,
[
'location' => 'test://',
'uri' => 'http://testuri.org',
]
);
var_dump($x->Add(3, 4));
?>