(PHP 5, PHP 7, PHP 8)
SoapClient::__soapCall — Appelle une fonction SOAP
Description
public
SoapClient::__soapCall(
string
$name
,
array
$args
,
?array
$options
=
null
,
SoapHeader|array|null
$inputHeaders
=
null
,
array
&$outputHeaders
=
null
): mixed
En cas d'erreur, un appel à une fonction SOAP peut causer un lancement
d'exception par PHP ou retourner un objet SoapFault
si les exceptions sont désactivées. Pour vérifier si l'appel à cette fonction n'arrive
pas à attraper les exceptions SoapFault,
vérifiez le résultat avec la fonction is_soap_fault().
Liste de paramètres
-
name
-
Le nom de la fonction SOAP à appeler.
-
args
-
Un tableau d'arguments à passer à la fonction. Cela peut être
un tableau associatif ou ordonné. Notez que la plupart des serveurs
SOAP nécessite des noms de paramètres, auquel cas, ce doit être un
tableau associatif.
-
options
-
Un tableau associatif d'options à passer au client.
Une option de location
pour le service Web distant.
Une option uri
avec l'espace de noms cible du service SOAP.
L'option soapaction
est l'action à appeler.
-
inputHeaders
-
Un tableau d'entêtes à envoyer avec la requête SOAP.
-
outputHeaders
-
Si fourni, ce tableau sera rempli avec les entêtes de
la réponse SOAP retournée.
Valeurs de retour
Les fonctions SOAP retournent une ou plusieurs valeurs. Si une seule valeur est
retournée par la fonction SOAP, la valeur retournée de
__soapCall
sera une valeur simple (e.g. un entier, une chaîne
de caractères, etc.). Si plusieurs valeurs sont retournées,
__soapCall
retournera un tableau associatif contenant les
noms des paramètres affichés.
En cas d'erreur, si l'objet SoapClient a été construit
avec l'option exceptions
qui valait false
, un objet
SoapFault sera retourné.
Exemples
Exemple #1 Exemple avec soapclient::__soapCall()
<?php
$client = new SoapClient("some.wsdl");
$client->SomeFunction($a, $b, $c);
$client->__soapCall("SomeFunction", array($a, $b, $c));
$client->__soapCall("SomeFunction", array($a, $b, $c), NULL,
new SoapHeader(), $output_headers);
$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
'uri' => "http://test-uri/"));
$client->SomeFunction($a, $b, $c);
$client->__soapCall("SomeFunction", array($a, $b, $c));
$client->__soapCall("SomeFunction", array($a, $b, $c),
array('soapaction' => 'some_action',
'uri' => 'some_uri'));
?>
Voir aussi