PHP Класс Prado\Web\Services\TSoapService
TSoapService processes SOAP requests for a PRADO application.
TSoapService requires PHP SOAP extension to be loaded.
TSoapService manages a set of SOAP providers. Each SOAP provider
is a class that implements a set of SOAP methods which are exposed
to SOAP clients for remote invocation. TSoapService generates WSDL
automatically for the SOAP providers by default.
To use TSoapService, configure it in the application specification like following:
PHP configuration style:
'services' => array(
'soap' => array(
'class' => 'System.Web.Services.TSoapService'
'properties' => array(
'provider' => 'MyStockQuote'
)
)
)
The WSDL for the provider class "MyStockQuote" is generated based on special
comment tags in the class. In particular, if a class method's comment
contains the keyword "@soapmethod", it is considered to be a SOAP method
and will be exposed to SOAP clients. For example,
class MyStockQuote {
**
* @param string $symbol the stock symbol
* @return float the stock price
* @soapmethod
* /
public function getQuote($symbol) {...}
}
With the above SOAP provider, a typical SOAP client may call the method "getQuote"
remotely like the following:
$client=new SoapClient("http://hostname/path/to/index.php?soap=stockquote.wsdl");
echo $client->getQuote("ibm");
Each
element in the application specification actually configures
the properties of a SOAP server which defaults to {@link TSoapServer}.
Therefore, any writable property of {@link TSoapServer} may appear as an attribute
in the element. For example, the "provider" attribute refers to
the {@link TSoapServer::setProvider Provider} property of {@link TSoapServer}.
The following configuration specifies that the SOAP server is persistent within
the user session (that means a MyStockQuote object will be stored in session)
You may also use your own SOAP server class by specifying the "class" attribute of .
Показать файл
Открыть проект
Открытые методы
Защищенные методы
Метод |
Описание |
|
createServer ( ) : TSoapServer |
Creates the requested SOAP server. |
|
resolveRequest ( ) |
Resolves the request parameter. |
|
Приватные методы
Метод |
Описание |
|
loadConfig ( $config ) |
Loads configuration from an XML element |
|
Описание методов
__construct()
публичный Метод
Sets default service ID to 'soap'.
constructUrl()
публичный Метод
Constructs a URL with specified page path and GET parameters.
public constructUrl ( $serverID, $getParams = null, $encodeAmpersand = true, $encodeGetItems = true ) : string |
Результат |
string |
URL for the page and GET parameters |
createServer()
защищенный Метод
The SOAP server is initialized with the property values specified
in the configuration.
protected createServer ( ) : TSoapServer |
Результат |
TSoapServer |
the SOAP server instance |
getConfigFile()
публичный Метод
getIsWsdlRequest()
публичный Метод
getServerID()
публичный Метод
This method is required by the IModule interface.
resolveRequest()
защищенный Метод
It identifies the server ID and whether the request is for WSDL.
If the service parameter ends with '.wsdl', it will serve a WSDL file for
the specified soap server.
Otherwise, it will handle the soap request using the specified server.
setConfigFile()
публичный Метод