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

 </div>

 <div class="refsect1 description" id="refsect1-soapclient.construct-description">
  <h3 class="title">Description</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">
   Crée un objet <span class="classname"><a href="class.soapclient.php" class="classname">SoapClient</a></span> pour se connecter à un service SOAP.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-soapclient.construct-parameters">
  <h3 class="title">Liste de paramètres</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">wsdl</code></dt>
     <dd>
      <p class="para">
       URI du fichier <abbr title="Web Services Description Language">WSDL</abbr> décrivant le service, qui est utilisé pour
       automatiquement configurer le client. Si non fourni, le client sera en mode
       non-WSDL.
      </p>
      <blockquote class="note"><p><strong class="note">Note</strong>: 
       <p class="para">
        Par défaut, le fichier WSDL sera mis en cache pour des raisons de performance. Pour désactiver
        ou configurer cette mise en cache, consulter la section
        <a href="soap.configuration.php#soap.configuration.list" class="link">SOAP Options de configuration</a>
        et l&#039;option <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 tableau associatif spécifiant des options supplémentaires pour le client SOAP.
       Si le paramètre <code class="parameter">wsdl</code> est fourni, ceci est facultatif ; sinon,
       au moins les paramètres <code class="literal">location</code> et <code class="literal">url</code> doivent être
       fournis.
       <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">
           L&#039;URL du serveur SOAP auquel envoyer la requête.
          </p>
          <p class="para">
           Requis si le paramètre <code class="parameter">wsdl</code> n&#039;est pas fourni.
           Si à la fois un paramètre <code class="parameter">wsdl</code> et
           l&#039;option <code class="literal">location</code> sont fournis, l&#039;option
           <code class="literal">location</code> remplacera toute location spécifiée dans le fichier 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">
           L&#039;espace de noms cible du service SOAP.
          </p>
          <p class="para">
           Requis si le paramètre <code class="parameter">wsdl</code> n&#039;est pas fourni;
           sinon ignoré.
          </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">
           Spécifie le style de liaison à utiliser pour ce client, en utilisant les constantes
           <strong><code><a href="soap.constants.php#constant.soap-rpc">SOAP_RPC</a></code></strong> et <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> indique une liaison de style RPC, où le
           corps de la requête SOAP contient un encodage standard d&#039;un appel de fonction.
           <strong><code><a href="soap.constants.php#constant.soap-document">SOAP_DOCUMENT</a></code></strong> indique une liaison de style document,
           où le corps de la requête SOAP contient un document XML avec
           une signification définie par le service.
          </p>
          <p class="para">
           Si le paramètre <code class="parameter">wsdl</code> est fourni, cette
           option est ignorée et le style est lu à partir du fichier WSDL.
          </p>
          <p class="para">
           Si ni cette option ni le paramètre <code class="parameter">wsdl</code>
           ne sont fournis, le style RPC est utilisé.
          </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">
           Spécifie le style d&#039;encodage à utiliser pour ce client, en utilisant les
           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> indique un encodage utilisant les types
           définis dans la spécification SOAP.
           <strong><code><a href="soap.constants.php#constant.soap-literal">SOAP_LITERAL</a></code></strong> indique un encodage utilisant un schéma
           défini.
          </p>
          <p class="para">
           Si le paramètre <code class="parameter">wsdl</code> est fourni, cette
           option est ignorée et l&#039;encodage est lu à partir du fichier WSDL.
          </p>
          <p class="para">
           Si cette option et le paramètre <code class="parameter">wsdl</code> ne sont pas fournis,
           le style &quot;encoded&quot; est utilisé.
          </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">
           Spécifie la version du protocole SOAP à utiliser :
           <strong><code><a href="soap.constants.php#constant.soap-1-1">SOAP_1_1</a></code></strong> pour SOAP 1.1,
           ou <strong><code><a href="soap.constants.php#constant.soap-1-2">SOAP_1_2</a></code></strong> pour SOAP 1.2.
          </p>
          <p class="para">
           Si omis, SOAP 1.1 est utilisé.
          </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">
           Spécifie la méthode d&#039;authentification lors de l&#039;utilisation de l&#039;authentification
           HTTP dans les requêtes. La valeur peut être soit
           <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">
           Si omis et que l&#039;option <code class="literal">login</code> est fournie,
           l&#039;authentification HTTP Basic est utilisée.
          </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">
           Nom d&#039;utilisateur à utiliser avec l&#039;authentification HTTP Basic ou 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">
           Mot de passe à utiliser avec l&#039;authentification HTTP Basic ou HTTP Digest.
          </p>
          <p class="para">
           À ne pas confondre avec <code class="literal">passphrase</code>,
           qui est utilisé avec l&#039;authentification par certificat client 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">
           Chemin vers un certificat client à utiliser avec l&#039;authentification HTTPS.
           Il doit s&#039;agir d&#039;un fichier encodé en <abbr title="Privacy-Enhanced Mail">PEM</abbr> contenant le certificat
           et la clé privée.
          </p>
          <p class="para">
           Le fichier peut également inclure une chaîne d&#039;émetteurs, qui doit venir
           après le certificat client.
          </p>
          <p class="para">
           Peut également être défini via
           <a href="soapclient.construct.php#soapclient.construct.options.stream-context" class="link">
            <code class="parameter">stream_context</code></a>,
           qui permet également de spécifier un fichier de clé privée distinct.
          </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 pour le certificat client spécifié dans l&#039;option
           <code class="literal">local_cert</code>.
          </p>
          <p class="para">
           À ne pas confondre avec <code class="literal">password</code>,
           qui est utilisé avec l&#039;authentification HTTP Basic ou HTTP Digest.
          </p>
          <p class="para">
           Peut également être défini 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">
           Nom d&#039;hôte à utiliser comme serveur mandataire pour les requêtes HTTP.
          </p>
          <p class="para">
           L&#039;option <code class="literal">proxy_port</code> doit également être spécifiée.
          </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">
           Port TCP à utiliser lors de la connexion au serveur mandataire
           spécifié dans <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">
           Nom d&#039;utilisateur facultatif pour s&#039;authentifier auprès du serveur mandataire
           spécifié dans <code class="literal">proxy_host</code>, en utilisant l&#039;authentification
           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">
           Mot de passe facultatif pour s&#039;authentifier auprès du serveur mandataire
           spécifié dans <code class="literal">proxy_host</code>, en utilisant l&#039;authentification
           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">
           Active la compression des requêtes et des réponses SOAP HTTP.
          </p>
          <p class="para">
           La valeur doit être le résultat de l&#039;opération OR binaire de trois parties :
           un <strong><code><a href="soap.constants.php#constant.soap-compression-accept">SOAP_COMPRESSION_ACCEPT</a></code></strong> optionnel,
           pour envoyer l&#039;en-tête &quot;Accept-Encoding&quot; ; soit
           <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> pour indiquer
           l&#039;algorithme de compression à utiliser ; et un nombre entre 1 et 9
           pour indiquer le niveau de compression à utiliser dans la requête.
           Par exemple, pour activer la compression gzip bidirectionnelle avec le niveau
           de compression maximal, utiliser
           <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">
           Définit l&#039;encodage de caractères interne. Les requêtes sont toujours envoyées
           en UTF-8 et converties depuis et vers cet encodage.
          </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">
           Capture les informations de requête et de réponse, qui peuvent ensuite être
           consultées à l&#039;aide des méthodes
           <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>,
           et <span class="methodname"><a href="soapclient.getlastresponseheaders.php" class="methodname">SoapClient::__getLastResponseHeaders()</a></span>.
          </p>
          <p class="para">
           Si omis, la valeur par défaut est <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">
           Utilisé pour associer les types définis dans le WSDL aux classes PHP.
           Il doit être spécifié sous la forme d&#039;un tableau associatif avec
           les noms de types du WSDL en tant que clés et les noms de classes PHP en tant que valeurs.
           Il est à noter que le nom de type d&#039;un élément ne correspond pas nécessairement au nom
           de l&#039;élément (balise).
          </p>
          <p class="para">
           Les noms de classe fournis doivent toujours être entièrement qualifiés avec
           tous les <a href="language.namespaces.php" class="link">espaces de noms</a>, et ne jamais
           commencer par un <code class="literal">\</code>. La forme correcte peut être
           générée en utilisant
           <a href="language.oop5.basic.php#language.oop5.basic.class.class" class="link">::class</a>.
          </p>
          <p class="para">
           Il est à noter que lors de la création d&#039;une classe, le constructeur ne sera pas appelé,
           mais les méthodes magiques <a href="language.oop5.overloading.php#object.set" class="link">__set()</a> et
           <a href="language.oop5.overloading.php#object.get" class="link">__get()</a> pour les propriétés individuelles le seront.
          </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">
           Utilisé pour définir des correspondances de types à l&#039;aide de fonctions de rappel
           définies par l&#039;utilisateur.
           Chaque correspondance de type doit être un tableau avec les clés
           <code class="literal">type_name</code> (une <span class="type"><a href="language.types.string.php" class="type string">string</a></span> spécifiant le
           type d&#039;élément XML),
           <code class="literal">type_ns</code> (une <span class="type"><a href="language.types.string.php" class="type string">string</a></span> contenant
           l&#039;URI de l&#039;espace de noms),
           <code class="literal">from_xml</code> (un <span class="type"><a href="language.types.callable.php" class="type callable">callable</a></span> acceptant un paramètre
           de type chaîne de caractères et renvoyant un objet) et
           <code class="literal">to_xml</code> (un <span class="type"><a href="language.types.callable.php" class="type callable">callable</a></span> acceptant un paramètre
           de type objet et renvoyant une chaîne de caractères).
          </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">
           Définit si les erreurs génèrent des exceptions de type
           <span class="classname"><a href="class.soapfault.php" class="classname">SoapFault</a></span>.
          </p>
          <p class="para">
           Par défaut, c&#039;est <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">
           Définit un délai d&#039;attente en secondes pour la connexion au service SOAP.
           Cette option ne définit pas un délai d&#039;attente pour les services ayant une
           réponse lente.
           Pour limiter le temps d&#039;attente des appels, l&#039;option de configuration
           <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 le paramètre <code class="parameter">wsdl</code> est spécifié et que l&#039;option de
           configuration
           <a href="soap.configuration.php#ini.soap.wsdl-cache-enabled" class="link">soap.wsdl_cache_enabled</a>
           est activée, cette option détermine le type de mise en cache.
           L&#039;une des 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> ou
           <strong><code><a href="soap.constants.php#constant.wsdl-cache-both">WSDL_CACHE_BOTH</a></code></strong>.
          </p>
          <p class="para">
           Deux types de cache sont disponibles : le cache en mémoire, qui met en cache le WSDL
           dans la mémoire du processus en cours, et le cache sur disque, qui met en cache le
           WSDL dans un fichier sur le disque partagé entre tous les processus.
           Le répertoire à utiliser pour le cache sur disque est déterminé par l&#039;option de configuration
           <a href="soap.configuration.php#ini.soap.wsdl-cache-dir" class="link">soap.wsdl_cache_dir</a>.
           Les deux caches ont la même durée de vie, déterminée par l&#039;option de configuration
           <a href="soap.configuration.php#ini.soap.wsdl-cache-ttl" class="link">soap.wsdl_cache_ttl</a>.
           Le cache en mémoire a également un nombre maximum d&#039;entrées déterminé par l&#039;option de configuration
           <a href="soap.configuration.php#ini.soap.wsdl-cache-limit" class="link">soap.wsdl_cache_limit</a>.
          </p>
          <p class="para">
           Si non spécifié, l&#039;option de configuration <a href="soap.configuration.php#ini.soap.wsdl-cache" class="link">
           soap.wsdl_cache</a> sera utilisée.
          </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">
           La valeur à utiliser dans l&#039;en-tête HTTP <code class="literal">User-Agent</code>
           lors des requêtes.
          </p>
          <p class="para">
           Peut également être définie via <a href="soapclient.construct.php#soapclient.construct.options.stream-context" class="link">
           <code class="parameter">stream_context</code></a>.
          </p>
          <p class="para">
           Si non spécifié, l&#039;agent utilisateur sera <code class="literal">&quot;PHP-SOAP/&quot;</code>
           suivi de la valeur 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">contexte de flux</a> créé par
           <span class="function"><a href="function.stream-context-create.php" class="function">stream_context_create()</a></span>, qui permet de définir des options supplémentaires.
          </p>
          <p class="para">
           Le contexte peut inclure des options de contexte <a href="context.socket.php" class="link">socket</a>,
           des options de contexte <a href="context.ssl.php" class="link">SSL</a>,
           ainsi que certaines options de contexte <a href="context.http.php" class="link">HTTP</a> sélectionnées :
           <code class="literal">content_type</code>, <code class="literal">header</code>,
           <code class="literal">max_redirects</code>, <code class="literal">protocol_version</code>,
           et <code class="literal">user_agent</code>.
          </p>
          <p class="para">
           Il est à noter que les en-têtes HTTP suivants sont générés automatiquement ou à partir d&#039;autres
           options, et seront ignorés s&#039;ils sont spécifiés dans l&#039;option de contexte <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> et <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">
           Un masque de bits pour activer une ou plusieurs des fonctionnalités suivantes :
           <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">
               Lors du décodage d&#039;une réponse en tableau, le comportement par défaut consiste à détecter si
               un nom d&#039;élément apparaît une seule fois ou plusieurs fois dans un élément parent particulier.
               Pour les éléments qui n&#039;apparaissent qu&#039;une fois, une propriété d&#039;objet permet un accès direct au
               contenu ; pour les éléments qui apparaissent plus d&#039;une fois, la propriété contient un
               tableau avec le contenu de chaque élément correspondant.
              </p>
              <p class="para">
               Si la fonctionnalité <strong><code><a href="soap.constants.php#constant.soap-single-element-arrays">SOAP_SINGLE_ELEMENT_ARRAYS</a></code></strong> est activée,
               les éléments qui n&#039;apparaissent qu&#039;une seule fois sont placés dans un tableau à un seul élément, de sorte que
               l&#039;accès soit cohérent pour tous les éléments. Cela n&#039;a d&#039;effet que lors de l&#039;utilisation d&#039;un WSDL
               contenant un schéma pour la réponse. Consulter la section des exemples pour une illustration.
              </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">
               Lorsque l&#039;option <a href="soapclient.construct.php#soapclient.construct.options.use" class="link"><code class="literal">use</code>
               option</a> ou la propriété WSDL est définie sur <code class="literal">encoded</code>,
               force les tableaux à utiliser un type <code class="literal">SOAP-ENC:Array</code>, plutôt qu&#039;un
               type spécifique au schéma.
              </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">
               Attendre une réponse même si le WSDL indique une requête à sens unique.
              </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">
           une valeur booléenne définissant si
           envoyer l&#039;en-tête <code class="literal">Connection: Keep-Alive</code> ou
           <code class="literal">Connection: close</code>.
          </p>
          <p class="para">
           Par défaut, c&#039;est <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">
           Spécifie la version du protocole SSL ou TLS à utiliser avec les connexions HTTP sécurisées, au lieu de la négociation par défaut.
           Spécifier <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> forcera l&#039;utilisation de SSL 2 ou SSL 3, respectivement.
           Spécifier <strong><code><a href="soap.constants.php#constant.soap-ssl-method-sslv23">SOAP_SSL_METHOD_SSLv23</a></code></strong> n&#039;a aucun effet ; cette constante n&#039;existe que pour des raisons de compatibilité ascendante.
           À partir de PHP 7.2.0, spécifier <strong><code><a href="soap.constants.php#constant.soap-ssl-method-tls">SOAP_SSL_METHOD_TLS</a></code></strong> n&#039;a également aucun effet ; dans les versions antérieures, cela forçait l&#039;utilisation de TLS 1.0.
          </p>
          <p class="para">
           Il est à noter que les versions SSL 2 et 3 sont considérées comme non sécurisées et peuvent ne pas être prises en charge par la bibliothèque OpenSSL installée.
          </p>
          <p class="para">
           Cette option est <strong>obsolète</strong> à partir de PHP 8.1.0.
           Une alternative plus flexible, qui permet de spécifier des versions individuelles de TLS, consiste à utiliser l&#039;option <a href="soapclient.construct.php#soapclient.construct.options.stream-context" class="link"><code class="parameter">stream_context</code></a> avec le paramètre de contexte &#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">// Spécifier l'utilisation de TLS 1.3 uniquement<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">Erreurs / Exceptions</h3>
  <p class="para">
   <span class="methodname"><strong>SoapClient::__construct()</strong></span> génèrera une erreur de type
   <strong><code><a href="errorfunc.constants.php#constant.e-error">E_ERROR</a></code></strong> si les options <code class="literal">location</code> et
   <code class="literal">uri</code> ne sont pas fournies en mode non-WSDL.
  </p>
  <p class="para">
   Une exception de type <span class="classname"><a href="class.soapfault.php" class="classname">SoapFault</a></span> sera lancée si l&#039;URI
   <code class="parameter">wsdl</code> ne peut être chargée.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-soapclient.construct-examples">
  <h3 class="title">Exemples</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Exemple #1 
     Exemple avec <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>Exemple #2 Utilisant la fonctionnalité <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">/* En supposant une réponse comme celle-ci, et un WSDL approprié:<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>L&#039;exemple ci-dessus va afficher :</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); ?>