SoapClient::__soapCall

(PHP 5, PHP 7, PHP 8)

SoapClient::__soapCallRealiza una llamada SOAP

Descripción

public SoapClient::__soapCall(
    string $name,
    array $args,
    ?array $options = null,
    SoapHeader|array|null $inputHeaders = null,
    array &$outputHeaders = null
): mixed

Esta es una función de bajo nivel de la API que se utiliza para realizar llamadas SOAP. Normalmente, en modo WSDL, se pueden llamar simplemente las funciones SOAP como métodos de SoapClient. Este método es útil en modo no-WSDL cuando soapaction es desconocido, uri es diferente del valor por omisión o al enviar y/o recibir encabezados SOAP.

En caso de error, una llamada a una función SOAP puede causar el lanzamiento de una excepción por PHP o devolver un objeto SoapFault si las excepciones están desactivadas. Para verificar si la llamada a esta función no logra atrapar las excepciones SoapFault, verifique el resultado con la función is_soap_fault().

Parámetros

name

El nombre de la función SOAP a llamar.

args

Un array de argumentos a pasar a la función. Esto puede ser un array asociativo u ordenado. Tenga en cuenta que la mayoría de los servidores SOAP requieren nombres de parámetros, en cuyo caso, debe ser un array asociativo.

options

Un array asociativo de opciones a pasar al cliente.

Una opción de location para el servicio web remoto.

Una opción uri con el espacio de nombres objetivo del servicio SOAP.

La opción soapaction es la acción a llamar.

inputHeaders

Un array de encabezados a enviar con la petición SOAP.

outputHeaders

Si se proporciona, este array será llenado con los encabezados de la respuesta SOAP devuelta.

Valores devueltos

Las funciones SOAP devuelven uno o varios valores. Si un solo valor es devuelto por la función SOAP, el valor devuelto de __soapCall será un valor simple (por ejemplo, un entero, un string, etc.). Si varios valores son devueltos, __soapCall devolverá un array asociativo que contiene los nombres de los parámetros mostrados.

En caso de error, si el objeto SoapClient fue construido con la opción exceptions que valía false, un objeto SoapFault será devuelto.

Ejemplos

Ejemplo #1 Ejemplo con SoapClient::__soapCall()

<?php

$client
= new SoapClient("some.wsdl");
$client->SomeFunction($a, $b, $c);

$client->__soapCall("SomeFunction", array($a, $b, $c));
$client->__soapCall("SomeFunction", array($a, $b, $c), NULL,
new
SoapHeader(), $output_headers);

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
'uri' => "http://test-uri/"));
$client->SomeFunction($a, $b, $c);
$client->__soapCall("SomeFunction", array($a, $b, $c));
$client->__soapCall("SomeFunction", array($a, $b, $c),
array(
'soapaction' => 'some_action',
'uri' => 'some_uri'));
?>

Ver también