SCA::getService
Obtain a proxy for a service
Description
mixed
SCA::getService
(
string
$target
[,
string
$binding
[,
array
$config
]] )
WarningThis function is
EXPERIMENTAL. The behaviour of this function, its name, and
surrounding documentation may change without notice in a future release of PHP.
This function should be used at your own risk.
Examine the target and initialize 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.
Parameters
-
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 properties for the binding (e.g.
array('location' => 'http://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.
Return Values
The SCA_LocalProxy or SCA_SoapProxy.
Examples
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
http://example.org.
<?php
include 'SCA/SCA.php';
$service = SCA::getService('EmailService.wsdl', 'binding.soap', array('location' => 'http://example.org'));
$service->send(...);
?>
The above example will output: