Forum und email

SCA::getService

(No version information available, might be only in CVS)

SCA::getService — Obtain a proxy for a service

Beschreibung

mixed SCA::getService ( string $target [, string $binding [, array $config ]] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Examine the target and initialise and return a proxy of the appropriate sort. If the target is for a local PHP component the returned proxy will be an SCA_LocalProxy. If the target is for a WSDL file, the returned proxy will be a SCA_SoapProxy.

Parameter Liste

target

An absolute or relative path to the target service or service description (e.g. a URL to a json-rpc service description, a PHP component, a WSDL file, and so on.). A relative path, if specified, is resolved relative to the location of the script issuing the getService() call, and not against the include_path or current working directory.

binding

The binding (i.e. protocol) to use to communicate with the service (e.g binding.jsonrpc for a json-rpc service). Note, some service types can be deduced from the target parameter (e.g. if the target parameter ends in .wsdl then SCA will assume binding.soap). Any binding which can be specified in an annotation can be specified here. For example 'binding.soap' is equivalent to the '@binding.soap' annotation.

config

Any additional configuration prioperties for the binding (e.g. array('location' => 'https://example.org')). Any binding configuration which can be specified in an annotation can be specified here. For example, 'location' is equivalent to the '@location' annotation to configure the location of a target soap service.

Rückgabewerte

The SCA_LocalProxy or SCA_SoapProxy.

Beispiele

Example#1 An SCA::getService() example

This example shows how to get a proxy to an email soap service described by EmailService.wsdl and located at https://example.org.

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

Das oben gezeigte Beispiel erzeugt folgende Ausgabe: