SoapClient::__doRequest
(PHP 5, PHP 7, PHP 8)
SoapClient::__doRequest — Performs a SOAP request
说明
public SoapClient::__doRequest(
string
string
string
int
bool
): ?string
string
$request,string
$location,string
$action,int
$version,bool
$oneWay = false): ?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.
参数
request-
The XML SOAP request.
location-
The URL to request.
action-
The SOAP action.
version-
The SOAP version.
oneWay-
If
oneWayis set totrue, this method returns nothing. Use this where a response is not expected.
返回值
The XML SOAP response.
示例
示例 #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));
?>