SoapClient::__doRequest

(PHP 5, PHP 7, PHP 8)

SoapClient::__doRequestFührt eine SOAP-Anfrage aus

Beschreibung

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

Führt eine SOAP-Anfrage über HTTP aus.

Diese Methode kann in einer vererbten Klasse überschrieben werden, um weitere Transportlayer, die Ausführung zusätzlichen XML-Processings oder andere Verwendungszwecke zu implementieren.

Parameter-Liste

request

Die XML-SOAP-Anfrage.

location

Die anzufragende URL.

action

Die SOAP-Aktion.

version

Die SOAP-Version.

oneWay

Wenn oneWay auf true gesetzt ist, gibt diese Methode nichts zurück. Verwenden Sie diesen Parameter, wenn Sie keine Antwort erwarten.

Rückgabewerte

Die XML-SOAP-Antwort.

Changelog

Version Beschreibung
8.0.0 oneWay ist nun vom Typ Boolean; vorher war er vom Typ Integer.

Beispiele

Beispiel #1 SoapClient::__doRequest()-Beispiel

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

?>