SoapClient::__doRequest

(PHP 5, PHP 7, PHP 8)

SoapClient::__doRequestEjecuta una solicitud SOAP

Descripción

public SoapClient::__doRequest(
    string $request,
    string $location,
    string $action,
    int $version,
    bool $oneWay = false
): ?string

Ejecuta una solicitud SOAP.

Este método puede ser sobrescrito en las subclases para implementar diferentes transportes, realizar operaciones XML adicionales o cualquier otra cosa.

Parámetros

request

La solicitud SOAP en XML.

location

La URL de la solicitud.

action

La acción SOAP.

version

La 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.

Valores devueltos

La respuesta SOAP en XML.

Historial de cambios

Versión Descripción
8.0.0 El tipo de oneWay es booléen ahora; anteriormente era entier.

Ejemplos

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));

?>