SoapClient::__doRequest
(PHP 5, PHP 7, PHP 8)
SoapClient::__doRequest — Performs a SOAP request
Description
public SoapClient::__doRequest(
string
string
string
int
bool
?string
): ?string
string
$request,string
$location,string
$action,int
$version,bool
$oneWay = false,?string
$uriParserClass = null): ?string
Performs SOAP request over HTTP.
This method can be overridden in subclasses to implement different transport layers, perform additional XML processing or other purpose.
Parameters
requestThe XML SOAP request.
locationThe URL to request.
actionThe SOAP action.
versionThe SOAP version.
oneWayIf
oneWayis set totrue, this method returns nothing. Use this where a response is not expected.uriParserClass- The classname to use for parsing the redirection URI when a
"Location"header is received in the response, ornullto use the default, parse_url() based parsing.
Return Values
The XML SOAP response.
Changelog
| Version | Description |
|---|---|
| 8.5.0 | The optional parameter uriParserClass has been added. |
| 8.0.0 | The type of oneWay is bool now; formerly it was int. |
Examples
Example #1 SoapClient::__doRequest() example
<?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));
?>↑ and ↓ to navigate • Enter to select • Esc to close • / to open