<?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 => 'pt_BR',
  ),
  'this' => 
  array (
    0 => 'soapclient.construct.php',
    1 => 'SoapClient::__construct',
    2 => 'Construtor de 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' => 'pt_BR',
    '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">Construtor de SoapClient</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-soapclient.construct-description">
  <h3 class="title">Descrição</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">
   Cria um objeto <span class="classname"><a href="class.soapclient.php" class="classname">SoapClient</a></span> para conectar-se a um serviço SOAP.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-soapclient.construct-parameters">
  <h3 class="title">Parâmetros</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">wsdl</code></dt>
     <dd>
      <p class="para">
      URI de um arquivo <abbr title="Web Services Description Language">WSDL</abbr> que descreve o serviço, que é usado para
      configurar o cliente. Se não for fornecido, o cliente operará em modo
      não WSDL.
      </p>
      <blockquote class="note"><p><strong class="note">Nota</strong>: 
       <p class="para">
        Por padrão, o arquivo WSDL será armazenado em cache para desempenho. Para desabilitar
        ou configurar esse cache, consulte
        <a href="soap.configuration.php#soap.configuration.list" class="link">Opções de Configuração de SOAP</a>
        e a <a href="soapclient.construct.php#soapclient.construct.options.cache-wsdl" class="link">
        opção <code class="literal">cache_wsdl</code></a>.
       </p>
      </p></blockquote>
     </dd>
    
    
     <dt><code class="parameter">options</code></dt>
     <dd>
      <p class="para">
       Um array associativo que especifica opções adicionais para o cliente SOAP.
       Se <code class="parameter">wsdl</code> for fornecido, isso será opcional; caso contrário,
       pelo menos <code class="literal">location</code> e <code class="literal">url</code> devem ser
       fornecidos.
       <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">
           A URL do servidor SOAP para o qual a solicitação será enviada.
          </p>
          <p class="para">
           Obrigatório se o parâmetro <code class="parameter">wsdl</code> não for fornecido.
           Se ambos o parâmetro <code class="parameter">wsdl</code> e a
           opção <code class="literal">location</code> são fornecidos, a
           opção <code class="literal">location</code> substituirá qualquer local
           especificado no arquivo 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">
           O namespace de destino do serviço SOAP.
          </p>
          <p class="para">
           Obrigatório se o parâmetro <code class="parameter">wsdl</code> não for fornecido;
           ignorado caso contrário.
          </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">
           Especifica o estilo de ligação a ser usado para este cliente, usando as constantes
           <strong><code><a href="soap.constants.php#constant.soap-rpc">SOAP_RPC</a></code></strong> e <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> indica ligação no estilo &quot;RPC&quot;, onde o
           corpo da solicitação SOAP contém uma codificação padrão de uma chamada de função.
           <strong><code><a href="soap.constants.php#constant.soap-document">SOAP_DOCUMENT</a></code></strong> indica vinculação no estilo documento,
           onde o corpo da solicitação SOAP contém um documento XML com
           significado definido pelo serviço.
          </p>
          <p class="para">
           Se o parâmetro <code class="parameter">wsdl</code> for fornecido, esta
           opção é ignorada e o estilo é lido no arquivo WSDL.
          </p>
          <p class="para">
           Se nem esta opção nem o parâmetro <code class="parameter">wsdl</code>
           forem fornecidos, o estilo &quot;RPC&quot; é usado.
          </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">
           Especifica o estilo de codificação a ser usado para este cliente, usando as
           constantes <strong><code><a href="soap.constants.php#constant.soap-encoded">SOAP_ENCODED</a></code></strong> ou <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> indica codificação usando os tipos
           definidos na especificação SOAP.
           <strong><code><a href="soap.constants.php#constant.soap-literal">SOAP_LITERAL</a></code></strong> indica codificação usando um esquema
           definido pelo serviço.
          </p>
          <p class="para">
           Se o parâmetro <code class="parameter">wsdl</code> for fornecido, esta
           opção é ignorada e a codificação é lida no arquivo WSDL.
          </p>
          <p class="para">
           Se nem esta opção nem o parâmetro <code class="parameter">wsdl</code>
           forem fornecidos, o estilo &quot;encoded&quot; é usado.
          </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">
           Especifica a versão do protocolo SOAP a ser usada:
           <strong><code><a href="soap.constants.php#constant.soap-1-1">SOAP_1_1</a></code></strong> para SOAP 1.1,
           ou <strong><code><a href="soap.constants.php#constant.soap-1-2">SOAP_1_2</a></code></strong> para SOAP 1.2.
          </p>
          <p class="para">
           Se omitido, será usado 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">
           Especifica o método de autenticação ao usar a autenticação HTTP
           em solicitações. O valor pode ser
           <strong><code><a href="soap.constants.php#constant.soap-authentication-basic">SOAP_AUTHENTICATION_BASIC</a></code></strong>
           ou <strong><code><a href="soap.constants.php#constant.soap-authentication-digest">SOAP_AUTHENTICATION_DIGEST</a></code></strong>.
          </p>
          <p class="para">
           Se omitido, e a opção <code class="literal">login</code> for fornecida,
           a autenticação básica é usada.
          </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">
           Nome de usuário a ser usado com autenticação HTTP Basic ou 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">
           Senha a ser usada com autenticação HTTP Basic ou Digest.
          </p>
          <p class="para">
           Não deve ser confundido com <code class="literal">passphrase</code>,
           que é usado com autenticação de certificado de cliente 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">
           Caminho para um certificado de cliente para uso com autenticação HTTPS.
           Deve ser um arquivo codificado em <abbr title="Privacy-Enhanced Mail">PEM</abbr> que contém o certificado
           e a chave privada.
          </p>
          <p class="para">
           O arquivo também pode incluir uma cadeia de emissores, que deve vir
           após o certificado do cliente.
          </p>
          <p class="para">
           Também pode ser definido via
           <a href="soapclient.construct.php#soapclient.construct.options.stream-context" class="link">
           <code class="parameter">stream_context</code></a>,
           que também suporta a especificação de um arquivo de chave privada separado.
          </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">
           A senha do certificado do cliente especificada na
           opção <code class="literal">local_cert</code>.
          </p>
          <p class="para">
           Não deve ser confundido com <code class="literal">password</code>,
           que é usado para autenticação Basic ou Digest.
          </p>
          <p class="para">
           Também pode ser definido via
           <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">
           Nome do host a ser usado como servidor proxy para solicitações HTTP.
          </p>
          <p class="para">
           A opção <code class="literal">proxy_port</code> também deve ser especificada.
          </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">
           Porta TCP a ser usada ao conectar ao servidor proxy
           especificado em <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">
           Nome de usuário opcional para autenticação com o servidor proxy
           especificado em <code class="literal">proxy_host</code>, usando Autenticação
           HTTP Básica.
          </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">
           Senha opcional para autenticação com o servidor proxy
           especificado em <code class="literal">proxy_host</code>, usando Autenticação
           HTTP Básica.
          </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">
           Permite compactação de solicitações e respostas HTTP SOAP.
          </p>
          <p class="para">
           O valor deve ser a operação OR binária de três partes:
           um <strong><code><a href="soap.constants.php#constant.soap-compression-accept">SOAP_COMPRESSION_ACCEPT</a></code></strong> opcional,
           para enviar um cabeçalho &quot;Accept-Encoding&quot;;
           <strong><code><a href="soap.constants.php#constant.soap-compression-gzip">SOAP_COMPRESSION_GZIP</a></code></strong>
           ou <strong><code><a href="soap.constants.php#constant.soap-compression-deflate">SOAP_COMPRESSION_DEFLATE</a></code></strong> para indicar
           o algoritmo de compressão a ser usado; e um número entre 1 e 9
           para indicar o nível de compactação a ser usado na solicitação.
           Por exemplo, para ativar a compactação gzip bidirecional com o máximo
           nível de compressão, use
           <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">
           Define a codificação interna de caracteres. As solicitações são sempre enviadas
           em UTF-8 e convertido para e desta codificação.
          </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">
           Captura informações de solicitação e resposta, que podem então ser
           acessado com os métodos
           <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>,
           e <span class="methodname"><a href="soapclient.getlastresponseheaders.php" class="methodname">SoapClient::__getLastResponseHeaders()</a></span>.
          </p>
          <p class="para">
           Se omitido, o padrão é <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">
           Usado para mapear tipos definidos no WSDL para classes PHP.
           Deve ser especificado como um <span class="type"><a href="language.types.array.php" class="type array">array</a></span> associativo com
           nomes do WSDL como chaves e nomes de classes PHP como valores.
           Observe que o nome do tipo de um elemento não é necessariamente igual ao
           nome (etiqueta) do elemento.
          </p>
          <p class="para">
           Os nomes de classe fornecidos devem sempre ser totalmente qualificados com
           <a href="language.namespaces.php" class="link">namespaces</a>, e nunca
           começar com um <code class="literal">\</code>. A forma correta pode ser
           gerada usando
           <a href="language.oop5.basic.php#language.oop5.basic.class.class" class="link">::class</a>.
          </p>
          <p class="para">
           Observe que ao criar uma classe, o construtor não será chamado,
           mas os métodos mágicos <a href="language.oop5.overloading.php#object.set" class="link">__set()</a> e
           <a href="language.oop5.overloading.php#object.get" class="link">__get()</a> para propriedades
           individuais serão.
          </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">
           Usado para definir mapeamentos de tipo usando funções de retorno definidas pelo usuário.
           Cada mapeamento de tipo deve ser um array com chaves
           <code class="literal">type_name</code> (<span class="type"><a href="language.types.string.php" class="type string">string</a></span> especificando o
           tipo de elemento XML);
           <code class="literal">type_ns</code> (<span class="type"><a href="language.types.string.php" class="type string">string</a></span> contendo namespace
           URI);
           <code class="literal">from_xml</code> (<span class="type"><a href="language.types.callable.php" class="type callable">callable</a></span> aceitando um
           parâmetro string e retornando um objeto) e
           <code class="literal">to_xml</code> (<span class="type"><a href="language.types.callable.php" class="type callable">callable</a></span> aceitando um
           parâmetro de objeto e retornando uma string).
          </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">
           Define se os erros lançam exceções do tipo
           <span class="classname"><a href="class.soapfault.php" class="classname">SoapFault</a></span>.
          </p>
          <p class="para">
           O padrão é <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">
           Define um tempo limite em segundos para conexão com o serviço SOAP.
           Esta opção não define timeout para serviços com respostas lentas.
           Para limitar o tempo de espera até que as chamadas terminem a
           opção <a href="filesystem.configuration.php#ini.default-socket-timeout" class="link">default_socket_timeout</a>
           de configuração está disponível.
          </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">
           Se o parâmetro <code class="parameter">wsdl</code> for fornecido e a
           opção <a href="soap.configuration.php#ini.soap.wsdl-cache-enabled" class="link">soap.wsdl_cache_enabled</a>
           de configuração estiver ativada, esta opção determina o tipo de armazenamento em cache.
           Um de <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> ou
           <strong><code><a href="soap.constants.php#constant.wsdl-cache-both">WSDL_CACHE_BOTH</a></code></strong>.
          </p>
          <p class="para">
           Dois tipos de cache estão disponíveis: cache na memória, que armazena em cache o WSDL
           na memória do processo atual; e cache de disco, que armazena em cache o
           WSDL em um arquivo em disco, compartilhado entre todos os processos.
           O diretório a ser usado para o cache de disco é determinado pela
           opção <a href="soap.configuration.php#ini.soap.wsdl-cache-dir" class="link">soap.wsdl_cache_dir</a>
           de configuração.
           Ambos os caches usam o mesmo tempo de vida, determinado pela
           opção <a href="soap.configuration.php#ini.soap.wsdl-cache-ttl" class="link">soap.wsdl_cache_ttl</a>
           de configuração. O cache na memória também possui um número máximo de entradas
           determinado pela
           opção <a href="soap.configuration.php#ini.soap.wsdl-cache-limit" class="link">soap.wsdl_cache_limit</a>
           de configuração.
          </p>
          <p class="para">
           Se não for especificado, a opção <a href="soap.configuration.php#ini.soap.wsdl-cache" class="link">
           soap.wsdl_cache</a> de configuração será usada.
          </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">
           O valor a ser usado no cabeçalho HTTP <code class="literal">User-Agent</code>
           ao fazer solicitações.
          </p>
          <p class="para">
           Também pode ser definido via <a href="soapclient.construct.php#soapclient.construct.options.stream-context" class="link">
           <code class="parameter">stream_context</code></a>.
          </p>
          <p class="para">
           Se não for especificado, o agente do usuário será <code class="literal">&quot;PHP-SOAP/&quot;</code>
           seguido pelo valor de <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">
           Um <a href="context.php" class="link">contexto de fluxo</a> criado por
           <span class="function"><a href="function.stream-context-create.php" class="function">stream_context_create()</a></span>, que permite
           opções a serem definidas.
          </p>
          <p class="para">
           O contexto pode incluir <a href="context.socket.php" class="link">opções de contexto de socket</a>,
           <a href="context.ssl.php" class="link">Opções de contexto SSL</a>,
           além de <a href="context.http.php" class="link">opções de contexto HTTP</a> selecionadas:
           <code class="literal">content_type</code>, <code class="literal">header</code>,
           <code class="literal">max_redirects</code>, <code class="literal">protocol_version</code>,
           e <code class="literal">user_agent</code>.
          </p>
          <p class="para">
           Observe que os seguintes cabeçalhos HTTP são gerados automaticamente ou a partir de outras
           opções e serão ignorados se especificados na opção de contexto <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> e <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">
           Uma máscara de bits para ativar um ou mais dos seguintes recursos:
           <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">
               Ao decodificar uma resposta para um array, o comportamento padrão é detectar se
               um nome de elemento aparece uma ou várias vezes em um elemento pai específico.
               Para elementos que aparecem apenas uma vez, uma propriedade de objeto permite acesso direto ao
               conteúdo; para elementos que aparecem mais de uma vez, a propriedade contém um
               array com o conteúdo de cada elemento correspondente.
              </p>
              <p class="para">
               Se o recurso <strong><code><a href="soap.constants.php#constant.soap-single-element-arrays">SOAP_SINGLE_ELEMENT_ARRAYS</a></code></strong> estiver ativado,
               elementos que aparecem apenas uma vez são colocados em um array de elemento único, de modo que
               o acesso é consistente para todos os elementos. Isso só tem efeito ao usar um WSDL
               contendo um esquema para a resposta. Consulte a seção Exemplos para obter uma ilustração.
              </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">
               Quando a <a href="soapclient.construct.php#soapclient.construct.options.use" class="link">opção <code class="literal">use</code>
               </a> ou propriedade WSDL está definida como <code class="literal">encoded</code>,
               força arrays a usar um tipo de <code class="literal">SOAP-ENC:Array</code>, em vez de um
               tipo específico do esquema.
              </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">
               Aguarda uma resposta mesmo que o WSDL indique uma solicitação unidirecional.
              </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">
           um valor booleano que define se
           envia o cabeçalho <code class="literal">Connection: Keep-Alive</code> ou
           <code class="literal">Connection: close</code>.
          </p>
          <p class="para">
           O padrão é <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">
           Especifica a versão do protocolo SSL ou TLS a ser usada com conexões HTTP
           seguras, em vez da negociação padrão.
           Especificar <strong><code><a href="soap.constants.php#constant.soap-ssl-method-sslv2">SOAP_SSL_METHOD_SSLv2</a></code></strong>
           ou <strong><code><a href="soap.constants.php#constant.soap-ssl-method-sslv3">SOAP_SSL_METHOD_SSLv3</a></code></strong> forçará o uso de SSL 2
           ou SSL 3, respectivamente.
           Especificar <strong><code><a href="soap.constants.php#constant.soap-ssl-method-sslv23">SOAP_SSL_METHOD_SSLv23</a></code></strong> não tem efeito;
           a constante existe apenas para compatibilidade com versões anteriores.
           A partir do PHP 7.2.0, especificar <strong><code><a href="soap.constants.php#constant.soap-ssl-method-tls">SOAP_SSL_METHOD_TLS</a></code></strong>
           também não tem efeito; em versões anteriores, forçava o uso do TLS 1.0.
          </p>
          <p class="para">
           Observe que as versões 2 e 3 do SSL são consideradas inseguras e não podem
           ser suportado pela biblioteca OpenSSL instalada.
          </p>
          <p class="para">
           Esta opção está <strong>descontinuada</strong> a partir do PHP 8.1.0.
           Uma alternativa mais flexível, que permite especificar
           versões individuais do TLS, é usar a
           <a href="soapclient.construct.php#soapclient.construct.options.stream-context" class="link">
           opção <code class="parameter">stream_context</code></a> com
           o parâmetro de contexto &#039;crypto_method&#039;.
           <div class="informalexample">
            <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">// Especificando o uso somente do TLS 1.3<br /></span><span style="color: #0000BB">$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">Erros/Exceções</h3>
  <p class="para">
   <span class="methodname"><strong>SoapClient::__construct()</strong></span> irá gerar um erro
   <strong><code><a href="errorfunc.constants.php#constant.e-error">E_ERROR</a></code></strong> se as opções <code class="literal">location</code> e
   <code class="literal">uri</code> não são fornecidas no modo não WSDL.
  </p>
  <p class="para">
   Uma exceção <span class="classname"><a href="class.soapfault.php" class="classname">SoapFault</a></span> será lançada se o
   URI <code class="parameter">wsdl</code> não puder ser carregado.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-soapclient.construct-examples">
  <h3 class="title">Exemplos</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Exemplo #1 
     Exemplo de <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>Exemplo #2 Usando o recurso <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 /></span><span style="color: #FF8000">/* Assumindo uma resposta como esta e um WSDL apropriado:<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;Único&lt;/item&gt;<br />            &lt;/collection&gt;<br />            &lt;collection&gt;<br />                &lt;item&gt;Primeiro&lt;/item&gt;<br />                &lt;item&gt;Segundo&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">"Padrão:\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">"\nCom 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>O exemplo acima produzirá:</p></div>

    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Padrão:
string(6) &quot;Único&quot;
array(2) {
  [0] =&gt;
  string(5) &quot;Primeiro&quot;
  [1] =&gt;
  string(6) &quot;Segundo&quot;
}

Com SOAP_SINGLE_ELEMENT_ARRAYS:
array(1) {
  [0] =&gt;
  string(6) &quot;Único&quot;
}
array(2) {
  [0] =&gt;
  string(5) &quot;Primeiro&quot;
  [1] =&gt;
  string(6) &quot;Segundo&quot;
}</pre>
</div>
    </div>
   </div>
  </p>
 </div>


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