PhpRiot
Become Zend Certified

Prepare for the ZCE exam using our quizzes (web or iPad/iPhone). More info...


When you're ready get 7.5% off your exam voucher using voucher CJQNOV23 at the Zend Store

Zend_Soap_Client Constructor

The Zend_Soap_Client constructor takes two parameters:

  • $wsdl - the URI of a WSDL file.

  • $options - options to create SOAP client object.

Both of these parameters may be set later using setWsdl($wsdl) and setOptions($options) methods respectively.

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 service (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:

    <?php
    // Accept response compression
    $client = new Zend_Soap_Client("some.wsdl",
      array(
    'compression' => SOAP_COMPRESSION_ACCEPT));
    ...

    // Compress requests using gzip with compression level 5
    $client = new Zend_Soap_Client("some.wsdl",
      array(
    'compression' => SOAP_COMPRESSION_ACCEPT SOAP_COMPRESSION_GZIP 5));
    ...

    // Compress requests using deflate compression
    $client = new Zend_Soap_Client("some.wsdl",
      array(
    'compression' => SOAP_COMPRESSION_ACCEPT SOAP_COMPRESSION_DEFLATE));

Zend Framework