SCA::getService

(PECL SDO >= 0.5.0)

SCA::getService Получить прокси для службы

Описание

SCA::getService ( string $target [, string $binding [, array $config ]] ) : mixed
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Исследует целевой объект, инициализирует и возвращает соответствующий прокси. Если целевой объект является локальным PHP-компонентом, то возвращается SCA_LocalProxy. Если целевой объект - это WSDL-файл, то возвращается SCA_SoapProxy.

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

target

Абсолютный или относительный путь к целевому сервису или описание сервиса (например URL к описанию сервиса в формате json-rpc, PHP-компоненту, файлу WSDL и т.д.). Относительный путь разрещается относительно пути скрипта, из которого запускается getService(), а не относительно include_path или текущей рабочей директории

binding

Привязка (т.е. протокол), используемая для общения с сервисом (например binding.jsonrpc для сервиса json-rpc). Обратите внимание, что некоторые типы могут быть выведены из параметров целевого сервиса (например, если параметр заканчивается на .wsdl, то SCA будет использовать binding.soap). Могут быть указаны любые привязки, которые допустимы в аннотациях. К примеру, 'binding.soap' эквивалентно аннотации '@binding.soap'

config

Любые дополнительные параметры для привязки (например array('location' => 'http://example.org')). Могут быть указаны любые параметры, которые допустимы в аннотациях. К примеру, 'location' является эквивалентом аннотации '@location'

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

SCA_LocalProxy или SCA_SoapProxy.

Примеры

Пример #1 Пример использования SCA::getService()

В этом примере показывается как получить прокси к SOAP-сервису, определенному как EmailService.wsdl и расположенному по пути http://example.org.

<?php
include 'SCA/SCA.php';
$service SCA::getService('EmailService.wsdl''binding.soap', array('location' => 'http://example.org'));
$service->send(...);
?>

Результат выполнения данного примера: