(PHP 5, PHP 7, PHP 8)
SoapClient::__doRequest — Exécute une requête SOAP
$request,$location,$action,$version,$oneWay = falseExé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.
requestLa requête SOAP en XML.
locationL'URL de la requête.
actionL'action SOAP.
versionLa 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));
?>