(PHP 5 >= 5.0.1, PHP 7)
SoapClient::SoapClient — Конструктор SoapClient
Конструктор создает объект SoapClient в WSDL или не-WSDL режиме.
wsdl
       URI файла WSDL или NULL, если 
       работа происходит в режиме не-WSDL.
      
Замечание:
Во время разработки кэширование WSDL можно отключить, используя настройку soap.wsdl_cache_ttl в php.ini, иначе изменения, сделанные в WSDL файле, не будут иметь эффекта до тех пор, пока не истечет время, указанное в soap.wsdl_cache_ttl.
optionsМассив настроек. Если работа происходит в режиме WSDL, то этот параметр необязательный. Если в не-WSDL режиме, то должны быть установлены опции location и uri, где location - URL сервера SOAP, к которому отправляется запрос, и uri - целевое пространство имен SOAP-сервиса.
Опции style и use используются только в не-WSDL режиме. В WSDL режиме они берутся из WSDL файла.
       Опция soap_version должна быть равна 
       либо SOAP_1_1 либо SOAP_1_2,
       чтобы использовать соответственно SOAP 1.1 или 1.2. Если параметр пропущен,
       то используется 1.1 .
       будет ли использоваться SOAP-клиент версии 1.1 (по умолчанию) или 1.2.
      
       Для HTTP аутентификации могут быть использованы опции
       login и password для получения полномочий.
       Для реализации HTTP соединения через proxy-сервер используются настройки
       proxy_host, proxy_port, 
       proxy_login и proxy_password.
       Для HTTPS сертификата аутентификации клиента используются 
       опции local_cert и passphrase.
       Аутентификация может быть передана через authentication.
       Метод аутентификации может быть 
       SOAP_AUTHENTICATION_BASIC (по умолчанию) или
       SOAP_AUTHENTICATION_DIGEST.
      
Опция compression позволяет сжимать запросы и ответы HTTP SOAP.
Опция encoding определяет внутреннюю кодировку. Опция не меняет кодировку SOAP-запросов (она всегда utf-8), но преобразует строки в нее.
       Опция trace включает отслеживание запроса и в случае ошибки
       можно получить обратную трассировку. По умолчанию имеет значение FALSE.       
      
Опция classmap может использоваться для перевода некоторых WSDL-типов в PHP классы. Опция должна представлять собой массив, в качестве ключей которого указаны WSDL-типы, а в качестве значений - имена PHP классов.
Установленная булевая опция trace позволяет использовать следующие методы: SoapClient->__getLastRequest, SoapClient->__getLastRequestHeaders, SoapClient->__getLastResponse и SoapClient->__getLastResponseHeaders.
Опция exceptions принимает булевые значения и определяет будут ли SOAP-ошибки бросать исключения типа SoapFault.
Опция connection_timeout определяет тайм-аут в секундах для соединения с SOAP-сервисом. Опция не устанавливает тайм-аут для сервисов с медленными ответами. Для ограничения времени ожидания вызовов используется default_socket_timeout.
Опция typemap является массивом сопоставления типов. Массив сопоставления типов - это массив с ключами type_name, type_ns (URI пространства имен), from_xml (функция обратного вызова принимает один строковый параметр) и to_xml (функция обратного вызова принимает объект в качестве параметра).
       Опция cache_wsdl принимает одно из значений: 
       WSDL_CACHE_NONE,
       WSDL_CACHE_DISK,
       WSDL_CACHE_MEMORY или
       WSDL_CACHE_BOTH.
      
Опция user_agent определяет строку для использования в User-Agent заголовке.
Опция stream_context - это resource для context.
       Опция features является битовой маской
       SOAP_SINGLE_ELEMENT_ARRAYS,
       SOAP_USE_XSI_ARRAY_TYPE,
       SOAP_WAIT_ONE_WAY_CALLS.
      
Опция keep_alive принимает булево значение, определяющее какой заголовок отправлять: Connection: Keep-Alive или Connection: close.
       Опция ssl_method должна быть равной
       SOAP_SSL_METHOD_TLS,
       SOAP_SSL_METHOD_SSLv2,
       SOAP_SSL_METHOD_SSLv3 или
       SOAP_SSL_METHOD_SSLv23.
      
   SoapClient::SoapClient() будет бросать ошибку
   E_ERROR, если опции location и
   uri не передаются в не-WSDL режиме.
  
   Исключение SoapFault будет брошено, если
   wsdl URI не может быть загружена.
  
| Версия | Описание | 
|---|---|
| 5.5.0 | Новая опция ssl_method. | 
| 5.4.0 | Новая опция keep_alive. | 
Пример #1 Пример использования SoapClient::SoapClient()
<?php
$client = new SoapClient("some.wsdl");
$client = new SoapClient("some.wsdl", array('soap_version'   => SOAP_1_2));
$client = new SoapClient("some.wsdl", array('login'          => "some_name",
                                            'password'       => "some_password"));
$client = new SoapClient("some.wsdl", array('proxy_host'     => "localhost",
                                            'proxy_port'     => 8080));
$client = new SoapClient("some.wsdl", array('proxy_host'     => "localhost",
                                            'proxy_port'     => 8080,
                                            'proxy_login'    => "some_name",
                                            'proxy_password' => "some_password"));
$client = new SoapClient("some.wsdl", array('local_cert'     => "cert_key.pem"));
$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/",
                                     'style'    => SOAP_DOCUMENT,
                                     'use'      => SOAP_LITERAL));
$client = new SoapClient("some.wsdl", 
  array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP));
$client = new SoapClient("some.wsdl", array('encoding'=>'ISO-8859-1'));
class MyBook {
    public $title;
    public $author;
}
$client = new SoapClient("books.wsdl", array('classmap' => array('book' => "MyBook")));
?>