(PHP 5, PHP 7, PHP 8)
SoapClient::__construct — Constructeur SoapClient
$wsdl, array $options = [])
   Ce constructeur crée des objets SoapClient
   dans le mode WSDL ou non-WSDL.
  
wsdl
       URI du fichier WSDL ou null s'il travaille en mode
       non-WSDL.
      
Note:
Durant le stage de développement, vous devriez vouloir désactiver le cache WSDL via l'option de configuration
soap.wsdl_cache_ttlde votre php.ini, sinon, les modifications faites sur le fichier WSDL n'auront aucun effet tant que le cachesoap.wsdl_cache_ttln'aura pas expiré.
options
       Un tableau d'options. Si l'on travaille en mode WSDL, ce paramètre est optionnel.
       En mode non-WSDL, Les options location et
       uri doivent être définies, où location
       est l'URL du serveur SOAP vers lequel la requête est envoyée, et
       uri est l'espace de noms cible du service SOAP.
      
       Les options style et use ne fonctionnent
       que dans le mode non-WSDL. En mode WSDL, ils viennent du fichier WSDL.
      
       L'option soap_version doit valoir la constante
       SOAP_1_1 ou la constante SOAP_1_2
       pour sélectionner, respectivement, SOAP 1.1 ou SOAP 1.2. Si omis,
       SOAP 1.1 sera utilisé.
      
       Pour les identifications HTTP, vous devez utiliser les options login et
       password. Pour effectuer une connexion HTTP via un proxy,
       utilisez les options proxy_host,
       proxy_port, proxy_login
       et proxy_password.
       Pour les identifications à l'aide d'un certificat d'un client HTTPS,
       utilisez les options local_cert et
       passphrase. Une authentification peut être spécifiée dans l'option
       authentication. La méthode d'authentification peut être
       SOAP_AUTHENTICATION_BASIC (par défaut) ou
       SOAP_AUTHENTICATION_DIGEST.
      
       L'option compression permet d'utiliser la compression
       sur les requêtes et les réponses HTTP SOAP.
      
       L'option encoding définit le jeu d'encodage des caractères
       internes. Cette option ne modifie pas l'encodage des requêtes SOAP (il est
       toujours utf-8), mais convertit les chaînes en utilisant ce dernier.
      
       L'option trace active le suivi des requêtes pour permettre
       le retraçage des défauts. false par défaut.
      
       L'option classmap peut être utilisée pour lier
       quelques types WSDL avec des classes PHP. Cette option doit être
       un tableau avec les types WSDL en tant que clés et les noms des classes
       PHP en tant que valeurs.
      
       Définir l'option trace active l'utilisation des méthodes
       
        SoapClient->__getLastRequest,
       
        SoapClient->__getLastRequestHeaders,
       
        SoapClient->__getLastResponse et
       
        SoapClient->__getLastResponseHeaders.
      
       L'option exceptions est un booléen définissant si les erreurs
       SOAP doivent lancer des exceptions du type
       SoapFault..
      
       L'option connection_timeout définit le délai de connexion
       en secondes pour la connexion au service SOAP. Cette option ne définit pas un
       délai de connexion pour les services avec des réponses lentes. Pour limiter
       la durée d'attente de fin des appels, l'option
       default_socket_timeout est
       disponible.
      
       L'option typemap est un tableau dont les clés
       sont type_name, type_ns
       (URI de l'espace de noms), from_xml
       (fonction de rappel acceptant un paramètre de type chaîne) et
       to_xml (fonction de rappel acceptant un paramètre de type objet).
      
       L'option cache_wsdl est une constante parmi
       WSDL_CACHE_NONE,
       WSDL_CACHE_DISK,
       WSDL_CACHE_MEMORY ou
       WSDL_CACHE_BOTH.
      
       L'option user_agent spécifie la chaîne à utiliser
       dans l'en-tête User-Agent.
      
       L'option stream_context est une ressource de
       contexte.
      
       L'option features est un masque représentant
       les constantes SOAP_SINGLE_ELEMENT_ARRAYS,
       SOAP_USE_XSI_ARRAY_TYPE et,
       SOAP_WAIT_ONE_WAY_CALLS.
      
       L'option keep_alive est un booléen
       définissant si l'on doit envoyer l'en-tête
       Connection: Keep-Alive ou l'en-tête
       Connection: close.
      
       L'option ssl_method est une des constantes suivantes :
       SOAP_SSL_METHOD_TLS,
       SOAP_SSL_METHOD_SSLv2,
       SOAP_SSL_METHOD_SSLv3 ou
       SOAP_SSL_METHOD_SSLv23.
      
   SoapClient::__construct() génèrera une erreur de type
   E_ERROR si les options location et
   uri ne sont pas fournies en mode non-WSDL.
  
   Une exception de type SoapFault sera lancée si l'URI
   wsdl ne peut être chargée.
  
Exemple #1 Exemple avec SoapClient::__construct()
<?php
$client = new SoapClient("some.wsdl");
$client = new SoapClient("some.wsdl", array('soap_version'   => SOAP_1_2));
$client = new SoapClient("some.wsdl", array('login'          => "some_name",
                                            'password'       => "some_password"));
$client = new SoapClient("some.wsdl", array('proxy_host'     => "localhost",
                                            'proxy_port'     => 8080));
$client = new SoapClient("some.wsdl", array('proxy_host'     => "localhost",
                                            'proxy_port'     => 8080,
                                            'proxy_login'    => "some_name",
                                            'proxy_password' => "some_password"));
$client = new SoapClient("some.wsdl", array('local_cert'     => "cert_key.pem"));
$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/",
                                     'style'    => SOAP_DOCUMENT,
                                     'use'      => SOAP_LITERAL));
$client = new SoapClient("some.wsdl",
  array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP));
$client = new SoapClient("some.wsdl", array('encoding'=>'ISO-8859-1'));
class MyBook {
    public $title;
    public $author;
}
$client = new SoapClient("books.wsdl", array('classmap' => array('book' => "MyBook")));
?>