(PHP 5, PHP 7, PHP 8)
SoapClient::__doRequest — Ejecuta una solicitud SOAP
$request,$location,$action,$version,$oneWay = false,$uriParserClass = nullEjecuta una solicitud SOAP.
Este método puede ser sobrescrito en las subclases para implementar diferentes transportes, realizar operaciones XML adicionales o cualquier otra cosa.
requestLa solicitud SOAP en XML.
locationLa URL de la solicitud.
actionLa acción SOAP.
versionLa versión SOAP.
oneWay
Si oneWay toma el valor de true,
este método no devuelve nada. Utilice este valor
cuando no se espera una respuesta.
uriParserClass"Location" en la respuesta,
o null para utilizar el análisis por omisión basado en parse_url().
La respuesta SOAP en XML.
| Versión | Descripción |
|---|---|
| 8.5.0 |
Se ha añadido el parámetro opcional uriParserClass.
|
| 8.0.0 |
El tipo de oneWay es bool ahora; anteriormente era int.
|
Ejemplo #1 Ejemplo con 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));
?>