Вызывает SOAP-функцию

# SoapClient::__soapCall

(PHP 5, PHP 7, PHP 8)

SoapClient::__soapCall — Вызывает SOAP-функцию

### Описание

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

Это низкоуровневая функция API, которая позволяет сделать SOAP-вызов. Обычно в режиме WSDL функции SOAP вызываются как методы объекта SoapClient. Этот метод полезен в режиме, отличном от WSDL, когда `soapaction` неизвестен, `uri` отличается от URI по умолчанию или при отправке и/или получении SOAP-заголовков.

В случае возникновения ошибки вызов SOAP-функции может привести к исключению или к возврату объекта SoapFault, если исключения отключены. Чтобы проверить, что вызов функции завершился неудачей, поймав исключение SoapFault, проверьте результат с помощью is_soap_fault().

### Список параметров

`name`

  Имя вызываемой SOAP-функции.

`args`

  Массив аргументов, передаваемых в функцию. Это может быть упорядоченный или ассоциативный массив. Обратите внимание, что большинство SOAP-серверов требуют предоставлять имена параметров, и в этом случае это должен быть ассоциативный массив.

`options`

  Ассоциативный массив настроек, передаваемых клиенту.

  Настройка `location` - URL удалённой веб-службы.

  Настройка `uri` - целевое пространство имён SOAP-службы.

  Настройка `soapaction` - действие для вызова.

`inputHeaders`

  Массив заголовков, отправляемых вместе с SOAP-запросом.

`outputHeaders`

  Если указан, то этот массив будет заполнен заголовками из SOAP-ответа.

### Возвращаемые значения

Функции SOAP могут возвращать одно или несколько значений. Если функция SOAP возвращает только одно значение, то возвращаемое значение будет скаляром. Если возвращается несколько значений, то вместо них возвращается ассоциативный массив именованных выходных параметров.

В случае возникновения ошибки, если объект SoapClient был объявлен с опцией `exceptions` со значением `false`, будет возвращён объект SoapFault.

### Примеры

Пример #1 Пример использования 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'));
    ?>

### Смотрите также

- SoapClient::__construct() - Конструктор класса SoapClient
- SoapParam::__construct() - Конструктор SoapParam
- SoapVar::__construct() - Конструктор SoapVar
- SoapHeader::__construct() - Конструктор SoapHeader
- SoapFault::__construct() - Инициализирует объект SoapFault
- is_soap_fault() - Проверяет, произошла ли ошибка при вызове SOAP

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open