(PHP 5, PHP 7, PHP 8)
SoapClient::__doRequest — Exécute une requête SOAP
$request
,$location
,$action
,$version
,$oneWay
= false
Exécute une requête SOAP.
Cette méthode peut être écrasée dans les sous-classes pour implémenter différents transporteurs, effectuer des opérations XML supplémentaires ou toute autre chose.
request
La requête SOAP en XML.
location
L'URL de la requête.
action
L'action SOAP.
version
La version SOAP.
oneWay
Si oneWay
prend la valeur de true
,
cette méthode ne retourne rien. Utilisez cette valeur
quand une réponse n'est pas attendue.
La réponse SOAP en XML.
Exemple #1 Exemple avec SoapClient::__doRequest()
<?php
function Add($x, $y)
{
return $x + $y;
}
class LocalSoapClient extends SoapClient
{
private $server;
public function __construct($wsdl, $options)
{
parent::__construct($wsdl, $options);
$this->server = new SoapServer($wsdl, $options);
$this->server->addFunction('Add');
}
public 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));
?>