(PHP 5, PHP 7, PHP 8)
SoapClient::__doRequest — Performs a SOAP request
$request
,$location
,$action
,$version
,$oneWay
= false
Performs SOAP request over HTTP.
This method can be overridden in subclasses to implement different transport layers, perform additional XML processing or other purpose.
request
The XML SOAP request.
location
The URL to request.
action
The SOAP action.
version
The SOAP version.
oneWay
If oneWay
is set to true
, this method returns nothing.
Use this where a response is not expected.
The XML SOAP response.
Example #1 SoapClient::__doRequest() example
<?php
function Add($x, $y) {
return $x + $y;
}
class LocalSoapClient extends SoapClient {
private $server;
function __construct($wsdl, $options) {
parent::__construct($wsdl, $options);
$this->server = new SoapServer($wsdl, $options);
$this->server->addFunction('Add');
}
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));
?>