PHP Dokumentation: Soapclient soapcall
12. Januar 2010 von werner
SoapClient::__soapCall
(PHP 5 >= 5.0.1)
SoapClient::__soapCall — Ruft eine SOAP-Funktion auf
Beschreibung
Es handelt sich um eine low-level-API-Funktion, um einen SOAP-Aufruf durchzuführen. Normalerweise können im WSDL-Modus SOAP-Funktionen als Methoden des SoapClient-Objekts aufgerufen werden. Diese Methode ist im nicht-WSDL-Modus nützlich, wenn die soapaction unbekannt ist, die uri vom Standard abweicht oder wenn SOAP-Header gesendet und/oder empfangen werden.
Im Fehlerfall kann der Aufruf einer SOAP-Funktion PHP veranlassen, eine Exception zu werfen oder ein SoapFault-Objekt zurückzugeben, wenn Exceptions deaktiviert wurden. Um zu prüfen, ob der Funktionsaufruf eine SoapFault-Exception nicht abgefangen hat, sollte die Rückgabe mit is_soap_fault() überprüft werden.
Parameter-Liste
- function_name
Der Name der aufzurufenden SOAP-Funktion.
- arguments
Ein Array aus Argumenten, die an die Funktion übergeben werden sollen. Dies kann entweder ein sortiertes oder ein assoziatives Array sein.
- options
Ein assoziatives Array von Optionen, die an den Client übergeben werden sollen.
Die Option location enthält den URL des angesprochenen Webservices.
Die Option uri enthält den Zielnamensraum des SOAP-Services.
Die Option soapaction ist die aufzurufende Aktion.
- input_headers
Ein Array von mit dem SOAP-Request zu sendenden Headern.
- output_headers
Sofern vorhanden, wird dieses Array mit den Headern des SOAP-Response gefüllt.
Rückgabewerte
SOAP-Funktionen können einen oder mehrere Werte zurückgeben. Wenn nur ein Wert von der SOAP-Funktion zurückgegeben wurde, entspricht der Rückgabewert von __soapCall einem primitiven Datentyp (z.B. integer, string etc). Wenn mehrere Werte zurückgegeben werden, gibt __soapCall ein assoziatives Array mit benannten Parametern zurück.
Wenn das SoapClient-Objekt mit trace=FALSE erstellt wurde, wird bei einem Fehler ein SoapFault-Objekt zurückgegeben.
Beispiele
Beispiel #1 SoapClient::__soapCall()-Beispiel
<?php$client
= new SoapClient("ein.wsdl");
$client->EineFunktion($a, $b, $c);$client->__soapCall("EineFunktion", array($a, $b, $c));
$client->__soapCall("EineFunktion", array($a, $b, $c), NULL,
new SoapHeader(), $output_headers);$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
'uri' => "http://test-uri/"));
$client->EineFunktion($a, $b, $c);
$client->__soapCall("EineFunktion", array($a, $b, $c));
$client->__soapCall("EineFunktion", array($a, $b, $c),
array('soapaction' => 'some_action',
'uri' => 'some_uri'));
?>Siehe auch
- SoapClient::SoapClient – SoapClient-Konstruktor
- SoapParam::SoapParam – SoapParam constructor
- SoapVar::SoapVar – SoapVar-Konstruktor
- SoapHeader::SoapHeader – SoapHeader constructor
- SoapFault::SoapFault – SoapFault constructor
- is_soap_fault() – Prüft, ob ein SOAP-Aufruf fehlgeschlagen ist