SoapClient::__soapCall
(PHP 5, PHP 7)
SoapClient::__soapCall — Вызывает SOAP-функцию
Описание
$name
, array $args
, array|null $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-функция возвращает только одно значение, то
__soapCall
вернет простое значение
(например, целое число, строку и т.д.). Если возвращается несколько значений,
то __soapCall
вернет ассоциативный массив именованных
возвращаемых параметров.
В случае ошибки, если объект 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::SoapClient() - Конструктор SoapClient
- SoapParam::SoapParam() - Конструктор SoapParam
- SoapVar::SoapVar() - Конструктор SoapVar
- SoapHeader::SoapHeader() - Конструктор SoapHeader
- SoapFault::SoapFault() - Конструктор SoapFault
- is_soap_fault() - Проверяет, произошла ли ошибка при вызове SOAP