SoapClient::__soapCall

(PHP 5, PHP 7)

SoapClient::__soapCallRuft eine SOAP-Funktion auf

Beschreibung

public SoapClient::__soapCall ( string $function_name , array $arguments [, array $options [, mixed $input_headers [, array &$output_headers ]]] ) : mixed

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. Es ist zu beachten, dass die meisten SOAP Server die Angabe von Parameternamen erfordern, so dass in diesen Fällen ein assoziatives Array verwendet werden muss.

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 exceptions=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