SoapClient::__soapCall

(PHP 5, PHP 7, PHP 8)

SoapClient::__soapCallRuft eine SOAP-Funktion auf

Beschreibung

publicSoapClient::__soapCall(
    string$name,
    array$args,
    ?array$options = null,
    SoapHeader|array|null$inputHeaders = null,
    array&$outputHeaders = null
): mixed

Es handelt sich um eine Low-Level-API-Funktion, die verwendet wird, um einen SOAP-Aufruf durchzuführen. Normalerweise, im WSDL-Modus, können SOAP-Funktionen als Methoden des SoapClient-Objekts aufgerufen werden. Diese Methode ist im non-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 auszulösen oder, wenn Exceptions deaktiviert wurden, ein SoapFault-Objekt zurückzugeben. 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

name

Der Name der aufzurufenden SOAP-Funktion.

args

Ein Array aus Parametern, 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 die URL des angesprochenen Webservices.

Die Option uri enthält den Zielnamensraum des SOAP-Services.

Die Option soapaction ist die aufzurufende Aktion.

inputHeaders

Ein Array von Headern, die mit der SOAP-Anfrage gesendet werden sollen.

outputHeaders

Sofern vorhanden, wird dieses Array mit den Headern des SOAP-Antwort gefüllt.

Rückgabewerte

SOAP-Funktionen können einen oder mehrere Werte zurückgeben. Wenn von einer SOAP-Funktion nur ein Wert zurückgegeben wird, ist der Rückgabewert ein primitiver Datentyp (einem sog. Skalar). Wenn mehrere Werte zurückgegeben werden, wird stattdessen ein assoziatives Array mit benannten Parametern zurückgegeben.

Wenn das SoapClient-Objekt mit der auf false gesetzten Option exceptions 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

To Top