SoapClient::__doRequest

(PHP 5, PHP 7, PHP 8)

SoapClient::__doRequestExécute une requête SOAP

Description

public SoapClient::__doRequest(
    string $request,
    string $location,
    string $action,
    int $version,
    bool $oneWay = false,
    ?string $uriParserClass = null
): ?string

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.

Liste de paramètres

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.

uriParserClass
Le nom de la classe à utiliser pour analyser l'URI de redirection lorsqu'un en-tête "Location" est reçu dans la réponse, ou null pour utiliser l'analyse par défaut, basée sur parse_url().

Valeurs de retour

La réponse SOAP en XML.

Historique

Version Description
8.5.0 Le paramètre optionnel uriParserClass a été ajouté.
8.0.0 Le type de oneWay est désormais booléen ; auparavant, c'était entier.

Exemples

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));

?>