(PHP 5, PHP 7, PHP 8)
SoapClient::__doRequest — Executa uma solicitação SOAP
$request,$location,$action,$version,$oneWay = false,$uriParserClass = nullExecuta solicitação SOAP por HTTP.
Este método pode ser substituído em subclasses para implementar diferentes camadas de transportes, realizar processamento XML adicional ou outra finalidade.
requestA solicitação XML SOAP.
locationO URL a ser solicitado.
actionA ação SOAP.
versionA versão SOAP.
oneWay
Se oneWay estiver definido como true, este método não retornará nada.
Use isto onde uma resposta não é esperada.
uriParserClass"Location" for recebido na resposta,
ou null para usar a análise padrão baseada em parse_url().
A resposta XML SOAP.
| Versão | Descrição |
|---|---|
| 8.5.0 |
O parâmetro opcional uriParserClass foi adicionado.
|
| 8.0.0 |
O tipo de oneWay é bool agora; antigamente era int.
|
Exemplo #1 Exemplo de SoapClient::__doRequest()
<?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));
?>