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

 </div>

 <div class="refsect1 description" id="refsect1-soapclient.construct-description">
  <h3 class="title">Descripción</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">
   Crea un objeto <span class="classname"><a href="class.soapclient.php" class="classname">SoapClient</a></span> para conectarse a un servicio 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 del archivo <abbr title="Web Services Description Language">WSDL</abbr> que describe el servicio, el cual se usa para
       configurar automáticamente el cliente. Si no se proporciona, el cliente operará en modo
       no-WSDL.
      </p>
      <blockquote class="note"><p><strong class="note">Nota</strong>: 
       <p class="para">
        Por omisión, el archivo WSDL será almacenado en caché por razones de rendimiento. Para desactivar
        o configurar este almacenamiento en caché, consulte la sección
        <a href="soap.configuration.php#soap.configuration.list" class="link">SOAP Opciones de configuración</a>
        y la opción <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">
       Un array asociativo que especifica opciones adicionales para el cliente SOAP.
       Si el parámetro <code class="parameter">wsdl</code> se proporciona, esto es opcional; de lo contrario,
       al menos los parámetros <code class="literal">location</code> y <code class="literal">url</code> deben ser
       proporcionados.
       <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">
           La URL del servidor SOAP al que enviar la petición.
          </p>
          <p class="para">
           Requerido si el parámetro <code class="parameter">wsdl</code> no se proporciona.
           Si tanto un parámetro <code class="parameter">wsdl</code> como
           la opción <code class="literal">location</code> se proporcionan, la opción
           <code class="literal">location</code> reemplazará cualquier ubicación especificada en el archivo 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">
           El espacio de nombres objetivo del servicio SOAP.
          </p>
          <p class="para">
           Requerido si el parámetro <code class="parameter">wsdl</code> no se proporciona;
           de lo contrario, se ignora.
          </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 el estilo de enlace a utilizar para este cliente, utilizando las constantes
           <strong><code><a href="soap.constants.php#constant.soap-rpc">SOAP_RPC</a></code></strong> y <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 un enlace de estilo RPC, donde el
           cuerpo de la petición SOAP contiene un codificado estándar de una llamada de función.
           <strong><code><a href="soap.constants.php#constant.soap-document">SOAP_DOCUMENT</a></code></strong> indica un enlace de estilo documento,
           donde el cuerpo de la petición SOAP contiene un documento XML con
           un significado definido por el servicio.
          </p>
          <p class="para">
           Si el parámetro <code class="parameter">wsdl</code> se proporciona, esta
           opción se ignora y el estilo se lee desde el archivo WSDL.
          </p>
          <p class="para">
           Si ni esta opción ni el parámetro <code class="parameter">wsdl</code>
           se proporcionan, se utiliza el estilo 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">
           Especifica el estilo de codificación a utilizar para este cliente, utilizando las
           constantes <strong><code><a href="soap.constants.php#constant.soap-encoded">SOAP_ENCODED</a></code></strong> o <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 una codificación utilizando los tipos
           definidos en la especificación SOAP.
           <strong><code><a href="soap.constants.php#constant.soap-literal">SOAP_LITERAL</a></code></strong> indica una codificación utilizando un esquema
           definido.
          </p>
          <p class="para">
           Si el parámetro <code class="parameter">wsdl</code> se proporciona, esta
           opción se ignora y la codificación se lee desde el archivo WSDL.
          </p>
          <p class="para">
           Si esta opción y el parámetro <code class="parameter">wsdl</code> no se proporcionan,
           se utiliza el estilo &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">
           Especifica la versión del protocolo SOAP a utilizar:
           <strong><code><a href="soap.constants.php#constant.soap-1-1">SOAP_1_1</a></code></strong> para SOAP 1.1,
           o <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">
           Si se omite, se utiliza 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 el método de autenticación al utilizar la autenticación
           HTTP en las peticiones. El valor puede ser
           <strong><code><a href="soap.constants.php#constant.soap-authentication-basic">SOAP_AUTHENTICATION_BASIC</a></code></strong>
           o <strong><code><a href="soap.constants.php#constant.soap-authentication-digest">SOAP_AUTHENTICATION_DIGEST</a></code></strong>.
          </p>
          <p class="para">
           Si se omite y la opción <code class="literal">login</code> se proporciona,
           se utiliza la autenticación HTTP Basic.
          </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">
           Nombre de usuario a utilizar con la autenticación HTTP Basic o HTTP 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">
           Contraseña a utilizar con la autenticación HTTP Basic o HTTP Digest.
          </p>
          <p class="para">
           No confundir con <code class="literal">passphrase</code>,
           que se utiliza con la autenticación por certificado 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">
           Ruta hacia un certificado cliente a utilizar con la autenticación HTTPS.
           Debe ser un archivo codificado en <abbr title="Privacy-Enhanced Mail">PEM</abbr> que contenga el certificado
           y su clave privada.
          </p>
          <p class="para">
           El archivo también puede incluir una cadena de emisores, que debe venir
           después del certificado cliente.
          </p>
          <p class="para">
           También puede ser definido a través de
           <a href="soapclient.construct.php#soapclient.construct.options.stream-context" class="link">
            <code class="parameter">stream_context</code></a>,
           que también permite especificar un archivo de clave privada distinto.
          </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">
           Passphrase para el certificado cliente especificado en la opción
           <code class="literal">local_cert</code>.
          </p>
          <p class="para">
           No confundir con <code class="literal">password</code>,
           que se utiliza con la autenticación HTTP Basic o HTTP Digest.
          </p>
          <p class="para">
           También puede ser definido a través de
           <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">
           Nombre de host a utilizar como servidor proxy para las peticiones HTTP.
          </p>
          <p class="para">
           La opción <code class="literal">proxy_port</code> también debe 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">
           Puerto TCP a utilizar al conectarse al servidor proxy
           especificado en <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">
           Nombre de usuario opcional para autenticarse con el servidor proxy
           especificado en <code class="literal">proxy_host</code>, utilizando la autenticación
           HTTP Basic.
          </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">
           Contraseña opcional para autenticarse con el servidor proxy
           especificado en <code class="literal">proxy_host</code>, utilizando la autenticación
           HTTP Basic.
          </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">
           Activa la compresión de las peticiones y respuestas SOAP HTTP.
          </p>
          <p class="para">
           El valor debe ser el resultado de la operación OR a nivel de bits de tres partes:
           un <strong><code><a href="soap.constants.php#constant.soap-compression-accept">SOAP_COMPRESSION_ACCEPT</a></code></strong> opcional,
           para enviar el encabezado &quot;Accept-Encoding&quot;; ya sea
           <strong><code><a href="soap.constants.php#constant.soap-compression-gzip">SOAP_COMPRESSION_GZIP</a></code></strong>
           o <strong><code><a href="soap.constants.php#constant.soap-compression-deflate">SOAP_COMPRESSION_DEFLATE</a></code></strong> para indicar
           el algoritmo de compresión a utilizar; y un número entre 1 y 9
           para indicar el nivel de compresión a utilizar en la petición.
           Por ejemplo, para activar la compresión gzip bidireccional con el nivel
           de compresión máximo, utilice
           <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 el codificado de caracteres interno. Las peticiones siempre se envían
           en UTF-8 y se convierten desde y hacia este codificado.
          </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 la información de petición y respuesta, que luego puede ser
           consultada utilizando los 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>,
           y <span class="methodname"><a href="soapclient.getlastresponseheaders.php" class="methodname">SoapClient::__getLastResponseHeaders()</a></span>.
          </p>
          <p class="para">
           Si se omite, el valor por omisión es <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">
           Utilizado para asociar los tipos definidos en el WSDL con las clases PHP.
           Debe ser especificado en forma de un <span class="type"><a href="language.types.array.php" class="type array">array</a></span> asociativo con
           los nombres de tipos del WSDL como claves y los nombres de clases PHP como valores.
           Tenga en cuenta que el nombre de tipo de un elemento no necesariamente corresponden al nombre
           del elemento (etiqueta).
          </p>
          <p class="para">
           Los nombres de clase proporcionados siempre deben estar completamente calificados con
           todos los <a href="language.namespaces.php" class="link">espacios de nombres</a>, y nunca
           comenzar con un <code class="literal">\</code>. La forma correcta puede ser
           generada utilizando
           <a href="language.oop5.basic.php#language.oop5.basic.class.class" class="link">::class</a>.
          </p>
          <p class="para">
           Tenga en cuenta que al crear una clase, el constructor no será llamado,
           pero los métodos mágicos <a href="language.oop5.overloading.php#object.set" class="link">__set()</a> y
           <a href="language.oop5.overloading.php#object.get" class="link">__get()</a> para las propiedades individuales sí lo serán.
          </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">
           Utilizado para definir correspondencias de tipos utilizando funciones de devolución de llamada
           definidas por el usuario.
           Cada correspondencia de tipo debe ser un array con las claves
           <code class="literal">type_name</code> (un <span class="type"><a href="language.types.string.php" class="type string">string</a></span> que especifica el
           tipo de elemento XML),
           <code class="literal">type_ns</code> (un <span class="type"><a href="language.types.string.php" class="type string">string</a></span> que contiene
           la URI del espacio de nombres),
           <code class="literal">from_xml</code> (un <span class="type"><a href="language.types.callable.php" class="type callable">callable</a></span> que acepta un parámetro
           de tipo string y devuelve un objeto) y
           <code class="literal">to_xml</code> (un <span class="type"><a href="language.types.callable.php" class="type callable">callable</a></span> que acepta un parámetro
           de tipo objeto y devuelve un 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 si los errores generan excepciones de tipo
           <span class="classname"><a href="class.soapfault.php" class="classname">SoapFault</a></span>.
          </p>
          <p class="para">
           Por omisión, es <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 un tiempo límite en segundos para la conexión al servicio SOAP.
           Esta opción no define un tiempo límite para los servicios con respuesta lenta.
           Para limitar el tiempo de espera de las llamadas, la opción de configuración
           <a href="filesystem.configuration.php#ini.default-socket-timeout" class="link">default_socket_timeout</a>
           está disponible.
          </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">
           Si el parámetro <code class="parameter">wsdl</code> se especifica y la opción de
           configuración
           <a href="soap.configuration.php#ini.soap.wsdl-cache-enabled" class="link">soap.wsdl_cache_enabled</a>
           está activada, esta opción determina el tipo de almacenamiento en caché.
           Una de las constantes <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> o
           <strong><code><a href="soap.constants.php#constant.wsdl-cache-both">WSDL_CACHE_BOTH</a></code></strong>.
          </p>
          <p class="para">
           Dos tipos de caché están disponibles: la caché en memoria, que almacena en caché el WSDL
           en la memoria del proceso actual, y la caché en disco, que almacena en caché el WSDL
           en un archivo en el disco compartido entre todos los procesos.
           El directorio a utilizar para la caché en disco es determinado por la opción de configuración
           <a href="soap.configuration.php#ini.soap.wsdl-cache-dir" class="link">soap.wsdl_cache_dir</a>.
           Las dos cachés tienen la misma vida útil, determinada por la opción de configuración
           <a href="soap.configuration.php#ini.soap.wsdl-cache-ttl" class="link">soap.wsdl_cache_ttl</a>.
           La caché en memoria también tiene un número máximo de entradas determinado por la opción de configuración
           <a href="soap.configuration.php#ini.soap.wsdl-cache-limit" class="link">soap.wsdl_cache_limit</a>.
          </p>
          <p class="para">
           Si no se especifica, la opción de configuración <a href="soap.configuration.php#ini.soap.wsdl-cache" class="link">
           soap.wsdl_cache</a> será utilizada.
          </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">
           El valor a utilizar en el encabezado HTTP <code class="literal">User-Agent</code>
           durante las peticiones.
          </p>
          <p class="para">
           También puede ser definido a través de <a href="soapclient.construct.php#soapclient.construct.options.stream-context" class="link">
           <code class="parameter">stream_context</code></a>.
          </p>
          <p class="para">
           Si no se especifica, el agente de usuario será <code class="literal">&quot;PHP-SOAP/&quot;</code>
           seguido del 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">
           Un <a href="context.php" class="link">contexto de flujo</a> creado por
           <span class="function"><a href="function.stream-context-create.php" class="function">stream_context_create()</a></span>, que permite definir opciones adicionales.
          </p>
          <p class="para">
           El contexto puede incluir opciones de contexto <a href="context.socket.php" class="link">socket</a>,
           opciones de contexto <a href="context.ssl.php" class="link">SSL</a>,
           así como algunas opciones de contexto <a href="context.http.php" class="link">HTTP</a> seleccionadas:
           <code class="literal">content_type</code>, <code class="literal">header</code>,
           <code class="literal">max_redirects</code>, <code class="literal">protocol_version</code>,
           y <code class="literal">user_agent</code>.
          </p>
          <p class="para">
           Tenga en cuenta que los siguientes encabezados HTTP son generados automáticamente o a partir de otras
           opciones, y serán ignorados si se especifican en la opción 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> y <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">
           Una máscara de bits para activar una o más de las siguientes funcionalidades:
           <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">
               Al decodificar una respuesta en array, el comportamiento por omisión consiste en detectar si
               un nombre de elemento aparece una sola vez o múltiples veces en un elemento padre particular.
               Para los elementos que aparecen una sola vez, una propiedad de objeto permite un acceso directo al
               contenido; para los elementos que aparecen más de una vez, la propiedad contiene un
               array con el contenido de cada elemento correspondiente.
              </p>
              <p class="para">
               Si la funcionalidad <strong><code><a href="soap.constants.php#constant.soap-single-element-arrays">SOAP_SINGLE_ELEMENT_ARRAYS</a></code></strong> está activada,
               los elementos que aparecen una sola vez se colocan en un array de un solo elemento, de modo que
               el acceso sea coherente para todos los elementos. Esto solo tiene efecto al utilizar un WSDL
               que contenga un esquema para la respuesta. Consulte la sección de ejemplos para una ilustración.
              </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">
               Cuando la opción <a href="soapclient.construct.php#soapclient.construct.options.use" class="link"><code class="literal">use</code>
               opción</a> o la propiedad WSDL está definida en <code class="literal">encoded</code>,
               fuerza a los arrays a utilizar un tipo <code class="literal">SOAP-ENC:Array</code>, en lugar de un
               tipo específico del 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">
               Esperar una respuesta incluso si el WSDL indica una petición de un solo sentido.
              </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">
           un valor booleano que define si
           enviar el encabezado <code class="literal">Connection: Keep-Alive</code> o
           <code class="literal">Connection: close</code>.
          </p>
          <p class="para">
           Por omisión, es <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 la versión del protocolo SSL o TLS a utilizar con las conexiones HTTP seguras, en lugar de la negociación por omisión.
           Especificar <strong><code><a href="soap.constants.php#constant.soap-ssl-method-sslv2">SOAP_SSL_METHOD_SSLv2</a></code></strong> o <strong><code><a href="soap.constants.php#constant.soap-ssl-method-sslv3">SOAP_SSL_METHOD_SSLv3</a></code></strong> forzará el uso de SSL 2 o SSL 3, respectivamente.
           Especificar <strong><code><a href="soap.constants.php#constant.soap-ssl-method-sslv23">SOAP_SSL_METHOD_SSLv23</a></code></strong> no tiene ningún efecto;
           esta constante solo existe por razones de compatibilidad ascendente.
           A partir de PHP 7.2.0, especificar <strong><code><a href="soap.constants.php#constant.soap-ssl-method-tls">SOAP_SSL_METHOD_TLS</a></code></strong>
           tampoco tiene ningún efecto; en versiones anteriores, esto forzaba el uso de TLS 1.0.
          </p>
          <p class="para">
           Es de notar que las versiones SSL 2 y 3 se consideran no seguras y pueden no ser soportadas por la biblioteca OpenSSL instalada.
          </p>
          <p class="para">
           Esta opción es <strong>obsoleta</strong> a partir de PHP 8.1.0.
           Una alternativa más flexible, que permite especificar versiones individuales de TLS, consiste en utilizar la opción <a href="soapclient.construct.php#soapclient.construct.options.stream-context" class="link"><code class="parameter">contexto_de_flux</code></a> con el 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">// Especificar el uso de TLS 1.3 solamente<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">Errores/Excepciones</h3>
  <p class="para">
   <span class="methodname"><strong>SoapClient::__construct()</strong></span> generará un error de tipo
   <strong><code><a href="errorfunc.constants.php#constant.e-error">E_ERROR</a></code></strong> si las opciones <code class="literal">location</code> y
   <code class="literal">uri</code> no se proporcionan en modo non-WSDL.
  </p>
  <p class="para">
   Una excepción de tipo <span class="classname"><a href="class.soapfault.php" class="classname">SoapFault</a></span> será lanzada si el URI
   <code class="parameter">wsdl</code> no puede ser cargado.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-soapclient.construct-examples">
  <h3 class="title">Ejemplos</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Ejemplo #1 
     Ejemplo <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>Ejemplo #2 Utilizando la funcionalidad <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">/* Suponiendo una respuesta como esta, y un WSDL apropiado:<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">"Default:\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">"\nWith 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>El ejemplo anterior mostrará:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Default:
string(6) &quot;Single&quot;
array(2) {
  [0] =&gt;
  string(5) &quot;First&quot;
  [1] =&gt;
  string(6) &quot;Second&quot;
}

With 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); ?>