|
|
Zend_Soap_Client class is intended to simplify Web Services client part development for PHP programmers.
It may be used in WSDL or non-WSDL mode.
When Zend_Soap_Client component works in the WSDL mode, it uses already prepared WSDL document to define transport layer options.
WSDL description is usually provided by a Web Service you plan to access to. If not, you may want to use Zend_Soap_Client in non-WSDL mode. All protocol options have to be set using options mechanism in this case.
Zend_Soap_Client constructor.
Zend_Soap_Client constructor takes two parameters:
$wsdl - an URI of a WSDL file.
$options - options to create SOAP server object.
setWsdl($wsdl) and
setOptions($options) methods correspondingly.
Note: Important!
If you use Zend_Soap_Client component in non-WSDL mode, you must set the 'location' and 'uri' options.
The following options are recognized:
'soap_version' ('soapVersion') - soap version to use (SOAP_1_1 or SOAP_1_2).
'classmap' ('classMap') - can be used to map some WSDL types to PHP classes.
The option must be an array with WSDL types as keys and names of PHP classes as values.
'encoding' - internal character encoding (UTF-8 is always used as an external encoding).
'wsdl' which is equivalent to setWsdl($wsdlValue) call.
Changing this option may switch Zend_Soap_Client object to or from WSDL mode.
'uri' - target namespace for the SOAP servevice (required for non-WSDL-mode, doesn't work for WSDL mode).
'location' - the URL to request (required for non-WSDL-mode, doesn't work for WSDL mode).
'style' - request style (doesn't work for WSDL mode): SOAP_RPC or SOAP_DOCUMENT.
'use' - method to encode messages (doesn't work for WSDL mode): SOAP_ENCODED or
SOAP_LITERAL.
'login' and 'password' - login and password for an HTTP authentication.
'proxy_host', 'proxy_port', 'proxy_login', and 'proxy_password' - an HTTP connection through a proxy server.
'local_cert' and 'passphrase' - HTTPS client certificate authentication options.
'compression' - compression options; it's a combination of SOAP_COMPRESSION_ACCEPT,
SOAP_COMPRESSION_GZIP and SOAP_COMPRESSION_DEFLATE options which
may be used like this:
SOAP_COMPRESSION_ACCEPT));
...
// Compress requests using gzip with compression level 5
$client = new SoapClient("some.wsdl",
array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP | 5));
...
// Compress requests using deflate compression
$client = new SoapClient("some.wsdl",
array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_DEFLATE));
When we've created a Zend_Soap_Client object we are completely ready to perform soap requests.
Each Web Service method is mapped to the virtual Zend_Soap_Client object method which takes
parameters with common PHP types.
Use it like in the following example:
setClass('MyClass');
// ...
// $server->handle();
//
//****************************************************************
// End of server code
//****************************************************************
$client = new SoapClient("MyService.wsdl");
...
// $result1 is a string
$result1 = $client->method1(10);
...
// $result2 is a float
$result2 = $client->method2(22, 'some string');
|
|
Copyright © 2005-2011 Zend Technologies Inc (compiled by mikaelkael with ZFDocumentor - SVN 12849).

