(PHP 5, PHP 7, PHP 8)
SoapClient::__doRequest — Выполняет SOAP-запрос
$request
,$location
,$action
,$version
,$oneWay
= false
Выполняет SOAP-запрос поверх HTTP.
Этот метод может быть переопределён в подклассах для реализации других транспортных уровней, выполнения дополнительной обработки XML или других целей.
request
Запрос XML SOAP.
location
URL для запроса.
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));
?>