<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.soapclient.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'soapclient.construct.php',
    1 => 'SoapClient::__construct',
    2 => 'Конструктор класса SoapClient',
  ),
  'up' => 
  array (
    0 => 'class.soapclient.php',
    1 => 'SoapClient',
  ),
  'prev' => 
  array (
    0 => 'soapclient.call.php',
    1 => 'SoapClient::__call',
  ),
  'next' => 
  array (
    0 => 'soapclient.dorequest.php',
    1 => 'SoapClient::__doRequest',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/soap/soapclient/construct.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="soapclient.construct" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">SoapClient::__construct</h1>
  <p class="verinfo">(PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">SoapClient::__construct</span> &mdash; <span class="dc-title">Конструктор класса SoapClient</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-soapclient.construct-description">
  <h3 class="title">Описание</h3>
  <div class="constructorsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><strong>SoapClient::__construct</strong></span>(<span class="methodparam"><span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="language.types.string.php" class="type string">string</a></span></span> <code class="parameter">$wsdl</code></span>, <span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter">$options</code><span class="initializer"> = []</span></span>)</div>

  <p class="para rdfs-comment">
   Создаёт объект <span class="classname"><a href="class.soapclient.php" class="classname">SoapClient</a></span> для подключения к службе SOAP.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-soapclient.construct-parameters">
  <h3 class="title">Список параметров</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">wsdl</code></dt>
     <dd>
      <p class="para">
       URI <abbr title="Web Services Description Language">WSDL</abbr>-файла, описывающего сервис, который используется для автоматической настройки клиента.
       Если он не указан, клиент будет работать в режиме без WSDL.
       mode.
      </p>
      <blockquote class="note"><p><strong class="note">Замечание</strong>: 
       <p class="para">
        По умолчанию WSDL-файл будет кешироваться для повышения производительности.
        Чтобы отключить или настроить кеширование, смотрите раздел
        <a href="soap.configuration.php#soap.configuration.list" class="link">Опции настройки SOAP</a>
        и <a href="soapclient.construct.php#soapclient.construct.options.cache-wsdl" class="link">параметр <code class="literal">cache_wsdl</code></a>.
       </p>
      </p></blockquote>
     </dd>
    
    
     <dt><code class="parameter">options</code></dt>
     <dd>
      <p class="para">
       Ассоциативный массив, определяющий дополнительные параметры для клиента SOAP.
       Если указан параметр <code class="parameter">wsdl</code>, это необязательно, в противном случае,
       по крайней мере параметры <code class="literal">location</code> и <code class="literal">url</code> должны быть указаны.
       <dl>
        
         <dt id="soapclient.construct.options.location">
          <code class="parameter">location</code>
          <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
         </dt>
         <dd>
          <p class="para">
           URL-адрес сервера SOAP для отправки запроса.
          </p>
          <p class="para">
           Обязателен, если параметр <code class="parameter">wsdl</code> не указан.
           Если предоставлены и параметр <code class="parameter">wsdl</code> и
           <code class="literal">location</code>, параметр <code class="literal">location</code>
           будет приоритетнее расположения, указанного в WSDL-файле.
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.uri">
          <code class="parameter">uri</code>
          <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
         </dt>
         <dd>
          <p class="para">
           Целевое пространство имён службы SOAP.
          </p>
          <p class="para">
           Обязателен, если параметр <code class="parameter">wsdl</code> не указан;
           в противном случае игнорируется.
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.style">
          <code class="parameter">style</code>
          <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
         </dt>
         <dd>
          <p class="para">
           Определяет стиль связывания, который будет использоваться клиентом, используя константы
           <strong><code><a href="soap.constants.php#constant.soap-rpc">SOAP_RPC</a></code></strong> и <strong><code><a href="soap.constants.php#constant.soap-document">SOAP_DOCUMENT</a></code></strong>.
           Константа <strong><code><a href="soap.constants.php#constant.soap-rpc">SOAP_RPC</a></code></strong> указывает на привязку в стиле RPC, где
           тело запроса SOAP содержит стандартное кодирование вызова функции.
           Константа <strong><code><a href="soap.constants.php#constant.soap-document">SOAP_DOCUMENT</a></code></strong> указывает на привязку в стиле документа,
           где тело запроса SOAP содержит XML-документ с определённым службой значением.
          </p>
          <p class="para">
           Если указан параметр <code class="parameter">wsdl</code>,
           то этот параметр игнорируется, а стиль считывается из WSDL-файла.
          </p>
          <p class="para">
           Если ни этот параметр, ни параметр <code class="parameter">wsdl</code>
           не указан, используется RPC-стиль.
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.use">
          <code class="parameter">use</code>
          <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
         </dt>
         <dd>
          <p class="para">
           Определяет стиль кодировки, который будет использоваться клиентом, используя константы
           <strong><code><a href="soap.constants.php#constant.soap-encoded">SOAP_ENCODED</a></code></strong> или <strong><code><a href="soap.constants.php#constant.soap-literal">SOAP_LITERAL</a></code></strong>.
           Константа <strong><code><a href="soap.constants.php#constant.soap-encoded">SOAP_ENCODED</a></code></strong> указывает на кодирование с использованием типов
           определённых в спецификации SOAP.
           Константа <strong><code><a href="soap.constants.php#constant.soap-literal">SOAP_LITERAL</a></code></strong> указывает на кодирование с использованием схемы
           определённой службой.
          </p>
          <p class="para">
           Если указан параметр <code class="parameter">wsdl</code>, этот
           параметр игнорируется, а кодировка считывается из файла WSDL.
          </p>
          <p class="para">
           Если ни этот параметр, ни параметр <code class="parameter">wsdl</code>
           не указаны, используется стиль &quot;encoded&quot;.
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.soap-version">
          <code class="parameter">soap_version</code>
          <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
         </dt>
         <dd>
          <p class="para">
           Определяет версию протокола SOAP:
           Константа <strong><code><a href="soap.constants.php#constant.soap-1-1">SOAP_1_1</a></code></strong> для SOAP 1.1,
           или <strong><code><a href="soap.constants.php#constant.soap-1-2">SOAP_1_2</a></code></strong> для SOAP 1.2.
          </p>
          <p class="para">
           Если опущено, используется SOAP 1.1.
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.authentication">
          <code class="parameter">authentication</code>
          <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
         </dt>
         <dd>
          <p class="para">
           Указывает метод аутентификации при использовании HTTP-аутентификации
           в запросах. Значение может быть либо <strong><code><a href="soap.constants.php#constant.soap-authentication-basic">SOAP_AUTHENTICATION_BASIC</a></code></strong>,
           либо <strong><code><a href="soap.constants.php#constant.soap-authentication-digest">SOAP_AUTHENTICATION_DIGEST</a></code></strong>.
          </p>
          <p class="para">
           Если параметр не указан, но указан параметр <code class="literal">login</code>,
           используется Basic Authentication.
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.login">
          <code class="parameter">login</code>
          <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
         </dt>
         <dd>
          <p class="para">
           Имя пользователя для использования при аутентификации HTTP Basic или Digest.
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.password">
          <code class="parameter">password</code>
          <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
         </dt>
         <dd>
          <p class="para">
           Пароль для использования при аутентификации HTTP Basic или Digest.
          </p>
          <p class="para">
           Не следует путать с параметром <code class="literal">passphrase</code>,
           который используется при аутентификации сертификата клиента HTTPS.
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.local-cert">
          <code class="parameter">local_cert</code>
          <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
         </dt>
         <dd>
          <p class="para">
           Путь к клиентскому сертификату для использования с аутентификацией HTTPS.
           Должен быть файл в кодировке <abbr title="Privacy-Enhanced Mail">PEM</abbr>, содержащий сертификат и закрытый ключ.
          </p>
          <p class="para">
           Файл также может включать цепочку эмитентов, которая должна идти
           после сертификата клиента.
          </p>
          <p class="para">
           Также может быть задан с помощью параметра
           <a href="soapclient.construct.php#soapclient.construct.options.stream-context" class="link"><code class="parameter">stream_context</code></a>,
           который также поддерживает указание отдельного файла закрытого ключа.
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.passphrase">
          <code class="parameter">passphrase</code>
          <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
         </dt>
         <dd>
          <p class="para">
           Ключевая фраза для клиентского сертификата, указанного в параметре
           <code class="literal">local_cert</code>.
          </p>
          <p class="para">
           Не следует путать с параметром <code class="literal">password</code>,
           который используется для аутентификации Basic или Digest.
          </p>
          <p class="para">
           Можно также установить с помощью параметра
           <a href="soapclient.construct.php#soapclient.construct.options.stream-context" class="link"><code class="parameter">stream_context</code></a>.
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.proxy-host">
          <code class="parameter">proxy_host</code>
          <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
         </dt>
         <dd>
          <p class="para">
           Имя хоста для использования в качестве прокси-сервера для HTTP-запросов.
          </p>
          <p class="para">
           Также должен быть указан параметр <code class="literal">proxy_port</code>.
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.proxy-port">
          <code class="parameter">proxy_port</code>
          <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
         </dt>
         <dd>
          <p class="para">
           TCP-порт для использования при подключении к прокси-серверу,
           указанному в параметре <code class="literal">proxy_host</code>.
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.proxy-login">
          <code class="parameter">proxy_login</code>
          <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
         </dt>
         <dd>
          <p class="para">
           Необязательное имя пользователя для аутентификации на прокси-сервере,
           указанном в параметре <code class="literal">proxy_host</code>, используя HTTP
           Basic Authentication.
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.proxy-password">
          <code class="parameter">proxy_password</code>
          <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
         </dt>
         <dd>
          <p class="para">
           Необязательный пароль для аутентификации на прокси-сервере,
           указанном в параметре <code class="literal">proxy_host</code>, используя HTTP
           Basic Authentication.
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.compression">
          <code class="parameter">compression</code>
          <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
         </dt>
         <dd>
          <p class="para">
           Включает сжатие HTTP SOAP запросов и ответов.
          </p>
          <p class="para">
           Значение должно быть побитовым ИЛИ из трёх частей:
           необязательная <strong><code><a href="soap.constants.php#constant.soap-compression-accept">SOAP_COMPRESSION_ACCEPT</a></code></strong>,
           для отправки заголовка &quot;Accept-Encoding&quot;;
           либо константа <strong><code><a href="soap.constants.php#constant.soap-compression-gzip">SOAP_COMPRESSION_GZIP</a></code></strong>
           или <strong><code><a href="soap.constants.php#constant.soap-compression-deflate">SOAP_COMPRESSION_DEFLATE</a></code></strong> для указания
           используемого алгоритма сжатия;
           число от 1 до 9, чтобы указать уровень сжатия, который будет использоваться в запросе.
           Например, чтобы включить двустороннее сжатие gzip с максимальным
           уровнем сжатия, используйте
           <code class="literal">SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP | 9</code>.
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.encoding">
          <code class="parameter">encoding</code>
          <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
         </dt>
         <dd>
          <p class="para">
           Определяет внутреннюю кодировку символов. Запросы всегда отправляются
           в UTF-8 и преобразуются в эту кодировку и обратно.
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.trace">
          <code class="parameter">trace</code>
          <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
         </dt>
         <dd>
          <p class="para">
           Захватывает информацию о запросе и ответе, которая затем может быть доступна с помощью методов:
           <span class="methodname"><a href="soapclient.getlastrequest.php" class="methodname">SoapClient::__getLastRequest()</a></span>,
           <span class="methodname"><a href="soapclient.getlastrequestheaders.php" class="methodname">SoapClient::__getLastRequestHeaders()</a></span>,
           <span class="methodname"><a href="soapclient.getlastresponse.php" class="methodname">SoapClient::__getLastResponse()</a></span>
           и <span class="methodname"><a href="soapclient.getlastresponseheaders.php" class="methodname">SoapClient::__getLastResponseHeaders()</a></span>.
          </p>
          <p class="para">
           Если опущено, по умолчанию используется значение <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>.
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.classmap">
          <code class="parameter">classmap</code>
          <span class="type"><a href="language.types.array.php" class="type array">array</a></span>
         </dt>
         <dd>
          <p class="para">
           Используется для сопоставления типов, определённых в WSDL с классами PHP.
           Должен быть указан ассоциативный массив (<span class="type"><a href="language.types.array.php" class="type array">array</a></span>) с
           именами типов из WSDL в качестве ключей и именами классов PHP в качестве значений.
           Обратите внимание, что имя типа элемента не обязательно совпадает с именем элемента (тега).
          </p>
          <p class="para">
           Предоставляемые имена классов всегда должны быть полностью определены с помощью любых
           <a href="language.namespaces.php" class="link">пространств имён</a> и никогда не должны
           начинаться с ведущего слеша (<code class="literal">\</code>).
           Правильная форма может быть указана с помощью
           <a href="language.oop5.basic.php#language.oop5.basic.class.class" class="link">::class</a>.
          </p>
          <p class="para">
           Обратите внимание, что при создании класса конструктор вызываться не будет,
           но магические методы <a href="language.oop5.overloading.php#object.set" class="link">__set()</a> и
           <a href="language.oop5.overloading.php#object.get" class="link">__get()</a> будут вызываться
           для отдельных свойств.
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.typemap">
          <code class="parameter">typemap</code>
          <span class="type"><a href="language.types.array.php" class="type array">array</a></span>
         </dt>
         <dd>
          <p class="para">
           Используется для определения сопоставлений типов с помощью определяемых
           пользователем callback-функций.
           Каждое сопоставление типов должно представлять собой массив с ключами
           <code class="literal">type_name</code> (строка (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>), определяющая тип элемента XML);
           <code class="literal">type_ns</code> (строка (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>), содержащая пространство имён URI);
           <code class="literal">from_xml</code> (<span class="type"><a href="language.types.callable.php" class="type callable">callable</a></span>, принимающий один строковый параметр и возвращающий объект) и
           <code class="literal">to_xml</code> (<span class="type"><a href="language.types.callable.php" class="type callable">callable</a></span>, принимающий один объектный параметр и возвращающий строку).
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.exceptions">
          <code class="parameter">exceptions</code>
          <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
         </dt>
         <dd>
          <p class="para">
           Определяет, будут ли ошибки выбрасывать исключение типа
           <span class="classname"><a href="class.soapfault.php" class="classname">SoapFault</a></span>.
          </p>
          <p class="para">
           По умолчанию значение <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.connection-timeout">
          <code class="parameter">connection_timeout</code>
          <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
         </dt>
         <dd>
          <p class="para">
           Определяет время ожидания в секундах для соединения с сервисом SOAP.
           Параметр не определяет время ожидания служб с медленными ответами.
           Чтобы ограничить время ожидания завершения вызовов, можно использовать параметр
           конфигурации <a href="filesystem.configuration.php#ini.default-socket-timeout" class="link">default_socket_timeout</a>.
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.cache-wsdl">
          <code class="parameter">cache_wsdl</code>
          <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
         </dt>
         <dd>
          <p class="para">
           Если указан параметр <code class="parameter">wsdl</code>, а также параметр
           <a href="soap.configuration.php#ini.soap.wsdl-cache-enabled" class="link">soap.wsdl_cache_enabled</a>
           включён, этот параметр определяет тип кеширования.
           Одно из значений: <strong><code><a href="soap.constants.php#constant.wsdl-cache-none">WSDL_CACHE_NONE</a></code></strong>,
           <strong><code><a href="soap.constants.php#constant.wsdl-cache-disk">WSDL_CACHE_DISK</a></code></strong>,
           <strong><code><a href="soap.constants.php#constant.wsdl-cache-memory">WSDL_CACHE_MEMORY</a></code></strong> или
           <strong><code><a href="soap.constants.php#constant.wsdl-cache-both">WSDL_CACHE_BOTH</a></code></strong>.
          </p>
          <p class="para">
           Доступны два типа кеша: кеширование в памяти, которое кеширует WSDL в памяти текущего процесса
           и дисковое кеширование, которое кеширует WSDL в файле на диске, разделяемом между всеми процессами.
           Каталог, который будет использоваться для дискового кеша, определяется параметром
           <a href="soap.configuration.php#ini.soap.wsdl-cache-dir" class="link">soap.wsdl_cache_dir</a>.
           Оба кеша используют одинаковое время жизни, определяемое параметром
           <a href="soap.configuration.php#ini.soap.wsdl-cache-ttl" class="link">soap.wsdl_cache_ttl</a>.
           У кеша в памяти также есть максимальное количество записей, определяемое параметром
           <a href="soap.configuration.php#ini.soap.wsdl-cache-limit" class="link">soap.wsdl_cache_limit</a>.
          </p>
          <p class="para">
           Если не указано, будет использоваться параметр конфигурации
           <a href="soap.configuration.php#ini.soap.wsdl-cache" class="link">soap.wsdl_cache</a>.
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.user-agent">
          <code class="parameter">user_agent</code>
          <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
         </dt>
         <dd>
          <p class="para">
           Значение для использования в HTTP-заголовке <code class="literal">User-Agent</code>
           при выполнении запросов.
          </p>
          <p class="para">
           Можно также установить с помощью параметра
           <a href="soapclient.construct.php#soapclient.construct.options.stream-context" class="link"><code class="parameter">stream_context</code></a>.
          </p>
          <p class="para">
           Если не указано, User-Agent будет <code class="literal">&quot;PHP-SOAP/&quot;</code>
           за которым следует значение <strong><code><a href="reserved.constants.php#constant.php-version">PHP_VERSION</a></code></strong>.
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.stream-context">
          <code class="parameter">stream_context</code>
          <span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span>
         </dt>
         <dd>
          <p class="para">
           Контекст <a href="context.php" class="link">stream context</a>, созданный с помощью
           функции <span class="function"><a href="function.stream-context-create.php" class="function">stream_context_create()</a></span>, которая позволяет установить дополнительные
           параметры.
          </p>
          <p class="para">
           Контекст может включать <a href="context.socket.php" class="link">параметры контекста сокета</a>,
           <a href="context.ssl.php" class="link">параметры контекста SSL</a>,
           а также выбранные <a href="context.http.php" class="link">опции контекста HTTP</a>:
           <code class="literal">content_type</code>, <code class="literal">header</code>,
           <code class="literal">max_redirects</code>, <code class="literal">protocol_version</code>,
           и <code class="literal">user_agent</code>.
          </p>
          <p class="para">
           Обратите внимание, что следующие HTTP-заголовки генерируются автоматически или на основе других
           параметров и будут игнорироваться, если указаны в параметре контекста <code class="literal">&#039;header&#039;</code>:
           <code class="literal">host</code>, <code class="literal">connection</code>,
           <code class="literal">user-agent</code>, <code class="literal">content-length</code>,
           <code class="literal">content-type</code>, <code class="literal">cookie</code>,
           <code class="literal">authorization</code> и <code class="literal">proxy-authorization</code>
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.features">
          <code class="parameter">features</code>
          <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
         </dt>
         <dd>
          <p class="para">
           Битовая маска для включения одной или нескольких следующих функций:
           <dl>
            
             <dt>
              <strong><code><a href="soap.constants.php#constant.soap-single-element-arrays">SOAP_SINGLE_ELEMENT_ARRAYS</a></code></strong>
             </dt>
             <dd>
              <p class="para">
               При декодировании ответа в массив по умолчанию определяется,
               появляется ли имя элемента один или несколько раз в определённом родительском элементе.
               Для элементов, которые появляются только один раз,
               свойство объекта позволяет получить прямой доступ к содержимому;
               для элементов, которые появляются более одного раза,
               свойство содержит массив с содержимым каждого соответствующего элемента.
              </p>
              <p class="para">
               Если включена функция <strong><code><a href="soap.constants.php#constant.soap-single-element-arrays">SOAP_SINGLE_ELEMENT_ARRAYS</a></code></strong>,
               элементы, которые появляются только один раз, помещаются в одноэлементный массив,
               чтобы доступ был последовательным для всех элементов.
               Это будет работать только при использовании WSDL, содержащего схему для ответа.
               Для демонстрации смотрите раздел с примерами.
              </p>
             </dd>
            
            
             <dt>
              <strong><code><a href="soap.constants.php#constant.soap-use-xsi-array-type">SOAP_USE_XSI_ARRAY_TYPE</a></code></strong>
             </dt>
             <dd>
              <p class="para">
               Если <a href="soapclient.construct.php#soapclient.construct.options.use" class="link">параметру <code class="literal">use</code></a> или свойству WSDL
               передано значение <code class="literal">encoded</code>, массивы принудительно используют тип
               <code class="literal">SOAP-ENC:Array</code>, а не специфический для схемы.
              </p>
             </dd>
            
            
             <dt>
              <strong><code><a href="soap.constants.php#constant.soap-wait-one-way-calls">SOAP_WAIT_ONE_WAY_CALLS</a></code></strong>
             </dt>
             <dd>
              <p class="para">
               Ожидание ответа, даже если WSDL указывает на односторонний запрос.
              </p>
             </dd>
            
           </dl>
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.keep-alive">
          <code class="parameter">keep_alive</code>
          <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
         </dt>
         <dd>
          <p class="para">
           Логическое значение, определяющее, следует ли
           отправлять заголовок <code class="literal">Connection: Keep-Alive</code> или
           <code class="literal">Connection: close</code>.
          </p>
          <p class="para">
           По умолчанию <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.ssl-method">
          <code class="parameter">ssl_method</code>
          <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
         </dt>
         <dd>
          <p class="para">
           Определяет версию протокола SSL или TLS для использования в защищённых
           HTTP-соединениях вместо согласования по умолчанию.
           Указание <strong><code><a href="soap.constants.php#constant.soap-ssl-method-sslv2">SOAP_SSL_METHOD_SSLv2</a></code></strong> или <strong><code><a href="soap.constants.php#constant.soap-ssl-method-sslv3">SOAP_SSL_METHOD_SSLv3</a></code></strong>
           заставит использовать SSL 2 или SSL 3, соответственно.
           Указание константы <strong><code><a href="soap.constants.php#constant.soap-ssl-method-sslv23">SOAP_SSL_METHOD_SSLv23</a></code></strong> не имеет никакого смысла;
           константа существует только для обратной совместимости.
           Начиная с PHP 7.2.0, указание константы <strong><code><a href="soap.constants.php#constant.soap-ssl-method-tls">SOAP_SSL_METHOD_TLS</a></code></strong>
           также не имеет никакого смысла; в более ранних версиях константа
           определяла принудительное использование TLS 1.0.
          </p>
          <p class="para">
           Обратите внимание, что SSL версий 2 и 3 считаются небезопасными и могут не
           поддерживаться установленной библиотекой OpenSSL.
          </p>
          <p class="para">
           Параметр объявлен <strong>устаревшим</strong>, начиная с PHP 8.1.0.
           Более гибкой альтернативой, позволяющей указывать
           отдельные версии TLS, можно использовать параметр
           <a href="soapclient.construct.php#soapclient.construct.options.stream-context" class="link"><code class="parameter">stream_context</code></a>
           с параметром контекста &#039;crypto_method&#039;.
           <div class="informalexample">
            <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">// Указание использования только TLS 1.3<br /><span style="color: #0000BB">&lt;?php<br />$context </span><span style="color: #007700">= </span><span style="color: #0000BB">stream_context_create</span><span style="color: #007700">([<br />    </span><span style="color: #DD0000">'ssl' </span><span style="color: #007700">=&gt; [<br />        </span><span style="color: #DD0000">'crypto_method' </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT<br />     </span><span style="color: #007700">]<br />]);<br /></span><span style="color: #0000BB">$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">SoapClient</span><span style="color: #007700">(</span><span style="color: #DD0000">"some.wsdl"</span><span style="color: #007700">, [</span><span style="color: #DD0000">'context' </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">$context</span><span style="color: #007700">]);</span></span></code></div>
            </div>

           </div>
          </p>
         </dd>
        
       </dl>
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 errors" id="refsect1-soapclient.construct-errors">
  <h3 class="title">Ошибки</h3>
  <p class="para">
   Метод <span class="methodname"><strong>SoapClient::__construct()</strong></span> выводит ошибку уровня
   <strong><code><a href="errorfunc.constants.php#constant.e-error">E_ERROR</a></code></strong>, если параметры <code class="literal">location</code> и
   <code class="literal">uri</code> не указаны в режиме не-WSDL.
  </p>
  <p class="para">
   Выбрасывается исключение <span class="classname"><a href="class.soapfault.php" class="classname">SoapFault</a></span>, если
   параметр <code class="parameter">wsdl</code> URI не может быть загружен.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-soapclient.construct-examples">
  <h3 class="title">Примеры</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Пример #1 Пример использования <span class="methodname"><strong>SoapClient::__construct()</strong></span></strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">SoapClient</span><span style="color: #007700">(</span><span style="color: #DD0000">"some.wsdl"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">SoapClient</span><span style="color: #007700">(</span><span style="color: #DD0000">"some.wsdl"</span><span style="color: #007700">, array(</span><span style="color: #DD0000">'soap_version'   </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">SOAP_1_2</span><span style="color: #007700">));<br /><br /></span><span style="color: #0000BB">$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">SoapClient</span><span style="color: #007700">(</span><span style="color: #DD0000">"some.wsdl"</span><span style="color: #007700">, array(</span><span style="color: #DD0000">'login'          </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"some_name"</span><span style="color: #007700">,<br />                                            </span><span style="color: #DD0000">'password'       </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"some_password"</span><span style="color: #007700">));<br /><br /></span><span style="color: #0000BB">$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">SoapClient</span><span style="color: #007700">(</span><span style="color: #DD0000">"some.wsdl"</span><span style="color: #007700">, array(</span><span style="color: #DD0000">'proxy_host'     </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"localhost"</span><span style="color: #007700">,<br />                                            </span><span style="color: #DD0000">'proxy_port'     </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">8080</span><span style="color: #007700">));<br /><br /></span><span style="color: #0000BB">$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">SoapClient</span><span style="color: #007700">(</span><span style="color: #DD0000">"some.wsdl"</span><span style="color: #007700">, array(</span><span style="color: #DD0000">'proxy_host'     </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"localhost"</span><span style="color: #007700">,<br />                                            </span><span style="color: #DD0000">'proxy_port'     </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">8080</span><span style="color: #007700">,<br />                                            </span><span style="color: #DD0000">'proxy_login'    </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"some_name"</span><span style="color: #007700">,<br />                                            </span><span style="color: #DD0000">'proxy_password' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"some_password"</span><span style="color: #007700">));<br /><br /></span><span style="color: #0000BB">$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">SoapClient</span><span style="color: #007700">(</span><span style="color: #DD0000">"some.wsdl"</span><span style="color: #007700">, array(</span><span style="color: #DD0000">'local_cert'     </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"cert_key.pem"</span><span style="color: #007700">));<br /><br /></span><span style="color: #0000BB">$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">SoapClient</span><span style="color: #007700">(</span><span style="color: #0000BB">null</span><span style="color: #007700">, array(</span><span style="color: #DD0000">'location' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"http://localhost/soap.php"</span><span style="color: #007700">,<br />                                     </span><span style="color: #DD0000">'uri'      </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"http://test-uri/"</span><span style="color: #007700">));<br /><br /></span><span style="color: #0000BB">$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">SoapClient</span><span style="color: #007700">(</span><span style="color: #0000BB">null</span><span style="color: #007700">, array(</span><span style="color: #DD0000">'location' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"http://localhost/soap.php"</span><span style="color: #007700">,<br />                                     </span><span style="color: #DD0000">'uri'      </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"http://test-uri/"</span><span style="color: #007700">,<br />                                     </span><span style="color: #DD0000">'style'    </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">SOAP_DOCUMENT</span><span style="color: #007700">,<br />                                     </span><span style="color: #DD0000">'use'      </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">SOAP_LITERAL</span><span style="color: #007700">));<br /><br /></span><span style="color: #0000BB">$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">SoapClient</span><span style="color: #007700">(</span><span style="color: #DD0000">"some.wsdl"</span><span style="color: #007700">,<br />  array(</span><span style="color: #DD0000">'compression' </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">SOAP_COMPRESSION_ACCEPT </span><span style="color: #007700">| </span><span style="color: #0000BB">SOAP_COMPRESSION_GZIP </span><span style="color: #007700">| </span><span style="color: #0000BB">9</span><span style="color: #007700">));<br /><br /></span><span style="color: #0000BB">$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">SoapClient</span><span style="color: #007700">(</span><span style="color: #DD0000">"some.wsdl"</span><span style="color: #007700">, array(</span><span style="color: #DD0000">'encoding'</span><span style="color: #007700">=&gt;</span><span style="color: #DD0000">'ISO-8859-1'</span><span style="color: #007700">));<br /><br />class </span><span style="color: #0000BB">MyBook </span><span style="color: #007700">{<br />    public </span><span style="color: #0000BB">$title</span><span style="color: #007700">;<br />    public </span><span style="color: #0000BB">$author</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">SoapClient</span><span style="color: #007700">(</span><span style="color: #DD0000">"books.wsdl"</span><span style="color: #007700">, array(</span><span style="color: #DD0000">'classmap' </span><span style="color: #007700">=&gt; array(</span><span style="color: #DD0000">'book' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"MyBook"</span><span style="color: #007700">)));<br /><br /></span><span style="color: #0000BB">$typemap </span><span style="color: #007700">= array(<br />    array(</span><span style="color: #DD0000">"type_ns"  </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"http://schemas.example.com"</span><span style="color: #007700">,<br />         </span><span style="color: #DD0000">"type_name" </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"book"</span><span style="color: #007700">,<br />         </span><span style="color: #DD0000">"from_xml"  </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"unserialize_book"</span><span style="color: #007700">,<br />         </span><span style="color: #DD0000">"to_xml"    </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"serialize_book"</span><span style="color: #007700">)<br />);<br /></span><span style="color: #0000BB">$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">SoapClient</span><span style="color: #007700">(</span><span style="color: #DD0000">"books.wsdl"</span><span style="color: #007700">, array(</span><span style="color: #DD0000">'typemap' </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">$typemap</span><span style="color: #007700">));<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>

  <p class="para">
   <div class="example" id="example-2">
    <p><strong>Пример #2 Пример использования <strong><code><a href="soap.constants.php#constant.soap-single-element-arrays">SOAP_SINGLE_ELEMENT_ARRAYS</a></code></strong></strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #FF8000">/* Предполагая, что ответ, подобный этому, и соответствующий WSDL:<br />&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />&lt;SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:example"&gt;<br />    &lt;SOAP-ENV:Body&gt;<br />        &lt;response&gt;<br />            &lt;collection&gt;<br />                &lt;item&gt;Single&lt;/item&gt;<br />            &lt;/collection&gt;<br />            &lt;collection&gt;<br />                &lt;item&gt;First&lt;/item&gt;<br />                &lt;item&gt;Second&lt;/item&gt;<br />            &lt;/collection&gt;<br />        &lt;/response&gt;<br />    &lt;/SOAP-ENV:Body&gt;<br />&lt;/SOAP-ENV:Envelope&gt;<br />*/<br /><br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">"По умолчанию:\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">TestSoapClient</span><span style="color: #007700">(</span><span style="color: #0000BB">__DIR__ </span><span style="color: #007700">. </span><span style="color: #DD0000">'/temp.wsdl'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$response </span><span style="color: #007700">= </span><span style="color: #0000BB">$client</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">exampleRequest</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">( </span><span style="color: #0000BB">$response</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">collection</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">]-&gt;</span><span style="color: #0000BB">item </span><span style="color: #007700">);<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">( </span><span style="color: #0000BB">$response</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">collection</span><span style="color: #007700">[</span><span style="color: #0000BB">1</span><span style="color: #007700">]-&gt;</span><span style="color: #0000BB">item </span><span style="color: #007700">);<br /><br />echo </span><span style="color: #DD0000">"\nС помощью SOAP_SINGLE_ELEMENT_ARRAYS:\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">TestSoapClient</span><span style="color: #007700">(</span><span style="color: #0000BB">__DIR__ </span><span style="color: #007700">. </span><span style="color: #DD0000">'/temp.wsdl'</span><span style="color: #007700">, [</span><span style="color: #DD0000">'features' </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">SOAP_SINGLE_ELEMENT_ARRAYS</span><span style="color: #007700">]);<br /></span><span style="color: #0000BB">$response </span><span style="color: #007700">= </span><span style="color: #0000BB">$client</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">exampleRequest</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">( </span><span style="color: #0000BB">$response</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">collection</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">]-&gt;</span><span style="color: #0000BB">item </span><span style="color: #007700">);<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">( </span><span style="color: #0000BB">$response</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">collection</span><span style="color: #007700">[</span><span style="color: #0000BB">1</span><span style="color: #007700">]-&gt;</span><span style="color: #0000BB">item </span><span style="color: #007700">);</span></span></code></div>
    </div>


    
<div class="example-contents"><p>
 Результат выполнения приведённого примера:
</p></div>


    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">По умолчанию:
string(6) &quot;Single&quot;
array(2) {
  [0] =&gt;
  string(5) &quot;First&quot;
  [1] =&gt;
  string(6) &quot;Second&quot;
}

С помощью SOAP_SINGLE_ELEMENT_ARRAYS:
array(1) {
  [0] =&gt;
  string(6) &quot;Single&quot;
}
array(2) {
  [0] =&gt;
  string(5) &quot;First&quot;
  [1] =&gt;
  string(6) &quot;Second&quot;
}</pre>
</div>
    </div>
   </div>
  </p>
 </div>


</div><?php manual_footer($setup); ?>