SoapClient::__soapCall - Вызывает SOAP-функцию
Вернуться к: SoapClient
SoapClient::__soapCall
(PHP 5 >= 5.0.1, PHP 7)
SoapClient::__soapCall — Вызывает SOAP-функцию
Описание
$function_name
, array $arguments
[, array $options
[, mixed $input_headers
[, array &$output_headers
]]] )Это низкоуровневая функция API, которая позволяет сделать SOAP-вызов. Обычно в WSDL-режиме SOAP-функции вызываются как методы объекта SoapClient. Этот же метод полезен в не WSDL-режиме, когда soapaction не известен, uri отличается от URI по умолчанию или когда отправляются и/или принимаются SOAP-заголовки.
В случае ошибки, вызов SOAP-функции может привести к исключению или к возврату объекта SoapFault, если исключения отключены. Проверить, что вызов функции завершился неудачей, можно обработав исключение SoapFault или проверить результат с помощью функции is_soap_fault().
Список параметров
-
function_name
-
Имя вызываемой SOAP-функции.
-
arguments
-
Массив аргументов, передаваемых в функцию. Это может быть упорядоченный или ассоциативный массив. Обратите внимание, что большинство SOAP серверов требуют предоставлять имена параметров, и в этом случае это должен быть ассоциативный массив.
-
options
-
Ассоциативный массив настроек, передаваемых клиенту.
Настройка location - URL удаленной веб-службы.
Настройка uri - целевое пространство имен SOAP-службы.
Настройка soapaction - действия для вызова.
-
input_headers
-
Массив заголовков, которые будут отправлены с SOAP-запросом.
-
output_headers
-
Если указан, то этот массив будет заполнен заголовками 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 constructor
- SoapVar::SoapVar() - SoapVar constructor
- SoapHeader::SoapHeader() - SoapHeader constructor
- SoapFault::SoapFault() - SoapFault constructor
- is_soap_fault() - Проверяет произошла ли ошибка при вызове SOAP
Вернуться к: SoapClient