<?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 => 'de',
  ),
  'this' => 
  array (
    0 => 'soapclient.construct.php',
    1 => 'SoapClient::__construct',
    2 => 'SoapClient-Konstruktor',
  ),
  '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' => 'de',
    'path' => 'reference/soap/soapclient/construct.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="soapclient.construct" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">SoapClient::__construct</h1>
  <p class="verinfo">(PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">SoapClient::__construct</span> &mdash; <span class="dc-title">SoapClient-Konstruktor</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-soapclient.construct-description">
  <h3 class="title">Beschreibung</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">
   Erstellt ein <span class="classname"><a href="class.soapclient.php" class="classname">SoapClient</a></span>-Objekt, um eine Verbindung
   zu einem SOAP-Dienst herzustellen.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-soapclient.construct-parameters">
  <h3 class="title">Parameter-Liste</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">wsdl</code></dt>
     <dd>
      <p class="para">
       Der URI einer WSDL-Datei, die den Dienst beschreibt, der verwendet
       wird, um den Client automatisch zu konfigurieren. Wenn er nicht
       angegeben wird, arbeitet der Client im non-WSDL-Modus.
      </p>
      <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
       <p class="para">
        Standardmäßig wird die WSDL-Datei aus Performance-Gründen
        zwischengespeichert. Um diese Zwischenspeicherung zu deaktivieren oder
        zu konfigurieren, siehe die
        <a href="soap.configuration.php#soap.configuration.list" class="link">SOAP-Konfigurationsoptionen</a>
        und die 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">
       Ein assoziatives Array, das zusätzliche Optionen für den SOAP-Client
       angibt. Wenn <code class="parameter">wsdl</code> angegeben wird, ist es
       optional, andernfalls müssen mindestens <code class="literal">location</code> und
       <code class="literal">url</code> angegeben werden.
       <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">
           Die URL des SOAP-Servers, an den die Anfrage gesendet werden soll.
          </p>
          <p class="para">
           Wird benötigt, wenn der Parameter <code class="parameter">wsdl</code> nicht
           angegeben wird. Wenn sowohl der Parameter
           <code class="parameter">wsdl</code> als auch die Option
           <code class="literal">location</code> angegeben werden, überschreibt die
           Option <code class="literal">location</code> alle in der WSDL-Datei angegeben
           Orte.
          </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">
           Der Ziel-Namensraum des SOAP-Dienstes.
          </p>
          <p class="para">
           Wird benötigt, wenn der Parameter <code class="parameter">wsdl</code> nicht
           angegeben wird, andernfalls wird er ignoriert.
          </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">
           Mit den Konstanten <strong><code><a href="soap.constants.php#constant.soap-rpc">SOAP_RPC</a></code></strong> und
           <strong><code><a href="soap.constants.php#constant.soap-document">SOAP_DOCUMENT</a></code></strong> kann der Bindungsstil angegeben
           werden, der für diesen Client verwendet werden soll.
           <strong><code><a href="soap.constants.php#constant.soap-rpc">SOAP_RPC</a></code></strong> gibt an, dass die Bindung im RPC-Stil
           verwendet werden soll, bei der der Body der SOAP-Anfrage die
           Standardkodierung des Funktionsaufrufs enthält.
           <strong><code><a href="soap.constants.php#constant.soap-document">SOAP_DOCUMENT</a></code></strong> gibt an, dass die Bindung im
           Dokumentenstil verwendet werden soll, wobei der Body der
           SOAP-Anfrage ein XML-Dokument mit einer durch den Dienst
           definierten Bedeutung enthält.
          </p>
          <p class="para">
           Wenn der Parameter <code class="parameter">wsdl</code> angegeben wird, wird
           diese Option ignoriert und der Stil wird aus der WSDL-Datei
           gelesen.
          </p>
          <p class="para">
           Wenn weder diese Option noch der Parameter
           <code class="parameter">wsdl</code> angegeben wird, wird der RPC-Stil
           verwendet.
          </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">
           Mit den Konstanten <strong><code><a href="soap.constants.php#constant.soap-encoded">SOAP_ENCODED</a></code></strong> und
           <strong><code><a href="soap.constants.php#constant.soap-literal">SOAP_LITERAL</a></code></strong> kann der Kodierungsstil angegeben
           werden, der für diesem Client verwendet werden soll.
           <strong><code><a href="soap.constants.php#constant.soap-encoded">SOAP_ENCODED</a></code></strong> gibt an, dass ein in der
           SOAP-Spezifikation definierter Kodierungstyp verwendet werden soll.
           <strong><code><a href="soap.constants.php#constant.soap-literal">SOAP_LITERAL</a></code></strong> gibt an, dass das vom Dienst
           definierte Schema für die Kodierung verwendet werden soll.
          </p>
          <p class="para">
           Wenn der Parameter <code class="parameter">wsdl</code> angegeben wird, wird
           diese Option ignoriert und die Kodierung wird aus der WSDL-Datei
           gelesen.
          </p>
          <p class="para">
           Wenn weder diese Option noch der Parameter
           <code class="parameter">wsdl</code> angegeben wird, wird der Stil &quot;encoded&quot;
           verwendet.
          </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">
           Gibt die Version des SOAP-Protokolls an, die verwendet werden soll:
           <strong><code><a href="soap.constants.php#constant.soap-1-1">SOAP_1_1</a></code></strong> für SOAP 1.1 oder
           <strong><code><a href="soap.constants.php#constant.soap-1-2">SOAP_1_2</a></code></strong> für SOAP 1.2.
          </p>
          <p class="para">
           Wenn diese Option weggelassen wird, wird SOAP 1.1 verwendet.
          </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">
           Wenn für Anfragen die HTTP-Authentifizierung verwendet wird,
           bestimmt diese Option die Authentifizierungsmethode. Als Wert kann
           <strong><code><a href="soap.constants.php#constant.soap-authentication-basic">SOAP_AUTHENTICATION_BASIC</a></code></strong> oder
           <strong><code><a href="soap.constants.php#constant.soap-authentication-digest">SOAP_AUTHENTICATION_DIGEST</a></code></strong> angegeben werden.
          </p>
          <p class="para">
           Wenn diese Option weggelassen wird und die Option
           <code class="literal">login</code> vorhanden ist, wird die Basic
           Authentication verwendet.
          </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">
           Der Benutzername, der für die Basic oder Digest Authentication
           verwendet wird.
          </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">
           Das Passwort, das für die Basic oder Digest Authentication
           verwendet wird.
          </p>
          <p class="para">
           Nicht zu verwechseln mit <code class="literal">passphrase</code>, das für die
           Authentifizierung mit HTTPS-Client-Zertifikat verwendet wird.
          </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">
           Der Pfad zu einem Client-Zertifikat für die Verwendung mit der
           HTTPS-Authentifizierung. Es muss sich um eine
           <abbr title="Privacy-Enhanced Mail">PEM</abbr>-kodierte Datei handeln, die das Zertifikat
           und den privaten Schlüssel enthält.
          </p>
          <p class="para">
           Die Datei kann auch eine Kette von Zertifikatsausstellern
           enthalten, die hinter dem Client-Zertifikat angehängt sein muss.
          </p>
          <p class="para">
           Kann auch mittels
           <a href="soapclient.construct.php#soapclient.construct.options.stream-context" class="link"><code class="parameter">stream_context</code></a>
           gesetzt werden, das auch die Angabe einer separaten privaten
           Schlüsseldatei unterstützt.
          </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">
           Die Passphrase für das Client-Zertifikat, das in der Option
           <code class="literal">local_cert</code> angegeben ist.
          </p>
          <p class="para">
           Nicht zu verwechseln mit <code class="literal">password</code>, das für die
           Basic oder Digest Authentication verwendet wird.
          </p>
          <p class="para">
           Kann auch mittels
           <a href="soapclient.construct.php#soapclient.construct.options.stream-context" class="link"><code class="parameter">stream_context</code></a>
           gesetzt werden.
          </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">
           Der Hostname, der als Proxy-Server für HTTP-Anfragen verwendet
           werden soll.
          </p>
          <p class="para">
           Die Option <code class="literal">proxy_port</code> muss ebenfalls angegeben
           werden.
          </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">
           Der TCP-Port, der bei der Verbindung mit dem in
           <code class="literal">proxy_host</code> angegebenen Proxy-Server verwendet
           werden soll.
          </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">
           Optionaler Benutzername zur Authentifizierung bei dem in
           <code class="literal">proxy_host</code> angegebenen Proxyserver, unter
           Verwendung der HTTP Basic Authentication.
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.proxy-password">
          <code class="parameter">proxy_password</code>
          <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
         </dt>
         <dd>
          <p class="para">
           Optionales Passwort zur Authentifizierung bei dem in
           <code class="literal">proxy_host</code> angegebenen Proxyserver, unter
           Verwendung der HTTP Basic Authentication.
          </p>
         </dd>
        
        
         <dt id="soapclient.construct.options.compression">
          <code class="parameter">compression</code>
          <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
         </dt>
         <dd>
          <p class="para">
           Aktiviert die Komprimierung von HTTP-SOAP-Anfragen und -Antworten.
          </p>
          <p class="para">
           Der Wert ist ein bitweises OR aus drei Teilen: das optionale
           <strong><code><a href="soap.constants.php#constant.soap-compression-accept">SOAP_COMPRESSION_ACCEPT</a></code></strong>, um einen
           &quot;Accept-Encoding&quot;-Header zu senden, entweder
           <strong><code><a href="soap.constants.php#constant.soap-compression-gzip">SOAP_COMPRESSION_GZIP</a></code></strong> oder
           <strong><code><a href="soap.constants.php#constant.soap-compression-deflate">SOAP_COMPRESSION_DEFLATE</a></code></strong>, um den zu
           verwendenden Komprimierungsalgorithmus anzugeben, und eine Zahl
           zwischen 1 und 9, um die Komprimierungsstufe anzugeben, die in der
           Anfrage verwendet werden soll. Um zum Beispiel eine bidirektionale
           Gzip-Kompression mit der maximalen Komprimierungsstufe zu
           aktivieren, wird <code class="literal">SOAP_COMPRESSION_ACCEPT |
           SOAP_COMPRESSION_GZIP | 9</code> verwendet.
          </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">
           Gibt die interne Zeichenkodierung an. Anfragen werden immer von der
           hier angegebenen Kodierung in UTF-8 umgewandelt und Antworten
           werden in diese Kodierung umgewandelt.
          </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">
           Erfasst Anfrage- und Antwortinformationen, auf die dann mit den
           Methoden <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> und
           <span class="methodname"><a href="soapclient.getlastresponseheaders.php" class="methodname">SoapClient::__getLastResponseHeaders()</a></span>
           zugegriffen werden kann.
          </p>
          <p class="para">
           Falls nicht angegeben, ist der Standardwert <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">
           Wird verwendet, um in der WSDL definierte Typen auf PHP-Klassen
           abzubilden. Diese Option benötigt ein assoziatives
           <span class="type"><a href="language.types.array.php" class="type Array">Array</a></span> mit den Typnamen aus der WSDL als Schlüssel und
           den Namen von PHP-Klassen als Werte. Es ist zu beachten, dass der
           Typname eines Elements nicht notwendigerweise derselbe ist wie der
           (Tag-)Name des Elements.
          </p>
          <p class="para">
           Die angegebenen Klassennamen müssen immer voll qualifiziert sein
           mit allen <a href="language.namespaces.php" class="link">Namensräumen</a>
           und dürfen nicht mit einem <code class="literal">\</code> beginnen. Die
           korrekte Form kann mit
           <a href="language.oop5.basic.php#language.oop5.basic.class.class" class="link">::class</a>
           erzeugt werden.
          </p>
          <p class="para">
           Zu beachten ist auch, dass beim Erstellen einer Klasse nicht der
           Konstruktor aufgerufen wird, sondern die Methoden
           <a href="language.oop5.overloading.php#object.set" class="link">__set()</a> und
           <a href="language.oop5.overloading.php#object.get" class="link">__get()</a> für die einzelnen
           Eigenschaften aufgerufen werden.
          </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">
           Wird verwendet, um Typzuordnungen mit Hilfe benutzerdefinierter
           Callback-Funktionen zu definieren. Jede Typzuordnung ist ein Array
           mit den Schlüsseln <code class="literal">type_name</code> (eine Zeichenkette,
           die den Typ des XML-Elements angibt), <code class="literal">type_ns</code>
           (eine Zeichenkette mit dem Namesraum-URI),
           <code class="literal">from_xml</code> (ein <span class="type"><a href="language.types.callable.php" class="type Callable">Callable</a></span>, das eine
           Zeichenkette als Parameter akzeptiert und ein Objekt zurückgibt)
           und <code class="literal">to_xml</code> (ein <span class="type"><a href="language.types.callable.php" class="type Callable">Callable</a></span>, das ein
           Objekt als Parameter akzeptiert und eine Zeichenkette zurückgibt).
          </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">
           Legt fest, ob Fehler Exceptions des Typs
           <span class="classname"><a href="class.soapfault.php" class="classname">SoapFault</a></span> auslösen.
          </p>
          <p class="para">
           Der Standardwert ist <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">
           Legt das Zeitlimit für die Verbindung mit dem SOAP-Dienst fest (in
           Sekunden). Mit dieser Option wird kein Zeitlimit für Dienste mit
           langsamen Antworten festgelegt. Um die Zeit zu begrenzen, die auf
           den Abschluss von Aufrufen gewartet wird, steht die
           Konfigurationsoption
           <a href="filesystem.configuration.php#ini.default-socket-timeout" class="link">default_socket_timeout</a>
           zur Verfügung.
          </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">
           Wenn der Parameter <code class="parameter">wsdl</code> angegeben wird, und
           die Konfigurationsoption
           <a href="soap.configuration.php#ini.soap.wsdl-cache-enabled" class="link">soap.wsdl_cache_enabled</a>
           aktiviert ist, bestimmt diese Option die Art der
           Zwischenspeicherung. Es kann einer der Werte
           <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> oder
           <strong><code><a href="soap.constants.php#constant.wsdl-cache-both">WSDL_CACHE_BOTH</a></code></strong> sein.
          </p>
          <p class="para">
           Es stehen zwei Arten von Caches zur Verfügung: In-Memory-Caching,
           bei dem die WSDL im Speicher des aktuellen Prozesses
           zwischenspeichert wird, und Festplatten-Caching, bei dem die WSDL
           auf der Festplatte in einer Datei zwischenspeichert wird, die von
           allen Prozessen gemeinsam genutzt werden kann. Das Verzeichnis, das
           für den Festplatten-Cache verwendet wird, kann durch die
           Konfigurationsoption
           <a href="soap.configuration.php#ini.soap.wsdl-cache-dir" class="link">soap.wsdl_cache_dir</a>
           angegeben werden. Beide Caches verwenden die gleiche Lebensdauer,
           die durch die Konfigurationsoption
           <a href="soap.configuration.php#ini.soap.wsdl-cache-ttl" class="link">soap.wsdl_cache_ttl</a>
           festgelegt ist. Für den In-Memory-Cache kann die maximale Anzahl
           von Einträgen mit der Konfigurationsoption
           <a href="soap.configuration.php#ini.soap.wsdl-cache-limit" class="link">soap.wsdl_cache_limit</a>
           festgelegt werden.
          </p>
          <p class="para">
           Falls nicht angegeben, wird die Konfigurationsoption
           <a href="soap.configuration.php#ini.soap.wsdl-cache" class="link">soap.wsdl_cache</a>
           verwendet.
          </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">
           Der Wert, der im HTTP-Header <code class="literal">User-Agent</code> bei
           Anfragen zu verwenden ist.
          </p>
          <p class="para">
           Dieser Wert kann auch über
           <a href="soapclient.construct.php#soapclient.construct.options.stream-context" class="link"><code class="parameter">stream_context</code></a>
           gesetzt werden.
          </p>
          <p class="para">
           Falls nicht angegeben, ist der User-Agent
           <code class="literal">&quot;PHP-SOAP/&quot;</code>, gefolgt vom Wert der Konstante
           <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">
           Ein <a href="context.php" class="link">Stream-Kontext</a>, der mit der
           Funktion <span class="function"><a href="function.stream-context-create.php" class="function">stream_context_create()</a></span> erstellt werden
           kann und es ermöglicht, zusätzliche Optionen zu setzen.
          </p>
          <p class="para">
           Der Kontext kann
           <a href="context.socket.php" class="link">Socket-Kontextoptionen</a>,
           <a href="context.ssl.php" class="link">SSL-Kontextoptionen</a>, sowie
           ausgewählte <a href="context.http.php" class="link">HTTP-Kontextoptionen</a>
           enthalten: <code class="literal">content_type</code>,
           <code class="literal">header</code>, <code class="literal">max_redirects</code>,
           <code class="literal">protocol_version</code> und
           <code class="literal">user_agent</code>.
          </p>
          <p class="para">
           Es ist zu beachten, dass die folgenden HTTP-Header automatisch oder
           aus anderen Optionen generiert werden, und dass sie ignoriert
           werden, wenn sie in der Kontextoption <code class="literal">&#039;header&#039;</code>
           angegeben werden: <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> und
           <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">
           Eine Bitmaske zur Aktivierung einer oder mehrerer der folgenden
           Funktionen:
           <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">
               Beim Dekodieren einer Antwort in ein Array wird standardmäßig
               automatisch erkannt, ob der Name eines Elements einmal oder
               mehrmals in einem bestimmten übergeordneten Element vorkommt.
               Bei Elementen, die nur einmal vorkommen, kann der Inhalt direkt
               über die Eigenschaften des Objekts abgerufen werden. Bei
               Elementen, die mehrfach vorkommen, enthält die Eigenschaft ein
               Array mit dem Inhalt der entsprechenden Elemente.
              </p>
              <p class="para">
               Wenn das Feature <strong><code><a href="soap.constants.php#constant.soap-single-element-arrays">SOAP_SINGLE_ELEMENT_ARRAYS</a></code></strong>
               aktiviert ist, werden die Elemente, die nur einmal vorkommen,
               in einem Array mit einem einzigen Element abgelegt, sodass der
               Zugriff für alle Elemente konsistent ist. Dies hat nur eine
               Auswirkung, wenn eine WSDL verwendet wird, die ein Schema für
               die Antwort enthält. Im Abschnitt Beispiele wird dies
               anschaulich dargestellt.
              </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">
               Wenn die Option
               <a href="soapclient.construct.php#soapclient.construct.options.use" class="link"><code class="literal">use</code></a>
               oder die WSDL-Eigenschaft auf <code class="literal">encoded</code>
               gesetzt ist, verwenden Arrays statt eines schemaspezifischen
               Typs den Typ <code class="literal">SOAP-ENC:Array</code>.
              </p>
             </dd>
            
            
             <dt>
              <strong><code><a href="soap.constants.php#constant.soap-wait-one-way-calls">SOAP_WAIT_ONE_WAY_CALLS</a></code></strong>
             </dt>
             <dd>
              <p class="para">
               Auf eine Antwort warten, auch wenn die WSDL eine einseitige
               Anfrage angibt.
              </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">
           Ein boolescher Wert, der definiert, ob der Header
           <code class="literal">Connection: Keep-Alive</code> oder der Header
           <code class="literal">Connection: close</code> gesendet wird.
          </p>
          <p class="para">
           Der Standardwert ist <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">
           Gibt die SSL- oder TLS-Protokollversion an, die für sichere
           HTTP-Verbindungen anstelle der Standardvereinbarung (default
           negotiation) verwendet werden soll. Die Angabe von
           <strong><code><a href="soap.constants.php#constant.soap-ssl-method-sslv2">SOAP_SSL_METHOD_SSLv2</a></code></strong> oder
           <strong><code><a href="soap.constants.php#constant.soap-ssl-method-sslv3">SOAP_SSL_METHOD_SSLv3</a></code></strong> erzwingt die Verwendung
           von SSL 2 bzw. SSL 3. Die Angabe von
           <strong><code><a href="soap.constants.php#constant.soap-ssl-method-sslv23">SOAP_SSL_METHOD_SSLv23</a></code></strong> hat keine Auswirkung;
           Diese Konstante existiert nur aus Gründen der
           Abwärtskompatibilität. Seit PHP 7.2 hat auch die Angabe von
           <strong><code><a href="soap.constants.php#constant.soap-ssl-method-tls">SOAP_SSL_METHOD_TLS</a></code></strong> keine Auswirkung mehr; in
           früheren Versionen erzwang sie die Verwendung von TLS 1.0.
          </p>
          <p class="para">
           Es ist zu beachten, dass die SSL-Versionen 2 und 3 als unsicher
           gelten und von der installierten OpenSSL-Bibliothek möglicherweise
           nicht unterstützt werden.
          </p>
          <p class="para">
           Diese Option ist seit PHP 8.1.0 als <em>VERALTET</em>
           markiert und sollte nicht mehr verwendet werden. Die Option
           <a href="soapclient.construct.php#soapclient.construct.options.stream-context" class="link"><code class="parameter">stream_context</code></a>
           bietet mit dem Kontextparameter &#039;crypto_method&#039; eine flexiblere
           Alternative, die es ermöglicht, einzelne Versionen von TLS
           anzugeben.
           <div class="example" id="example-1">
            <p><strong>Beispiel #1 Die Verwendung von TLS 1.3 vorschreiben</strong></p>
            <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$context </span><span style="color: #007700">= </span><span style="color: #0000BB">stream_context_create</span><span style="color: #007700">([<br />    </span><span style="color: #DD0000">'ssl' </span><span style="color: #007700">=&gt; [<br />        </span><span style="color: #DD0000">'crypto_method' </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT<br />     </span><span style="color: #007700">]<br />]);<br /></span><span style="color: #0000BB">$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">SoapClient</span><span style="color: #007700">(</span><span style="color: #DD0000">"some.wsdl"</span><span style="color: #007700">, [</span><span style="color: #DD0000">'context' </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">$context</span><span style="color: #007700">]);</span></span></code></div>
            </div>

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


 <div class="refsect1 errors" id="refsect1-soapclient.construct-errors">
  <h3 class="title">Fehler/Exceptions</h3>
  <p class="para">
   Wenn die Optionen <code class="literal">location</code> und <code class="literal">uri</code>
   im non-WSDL-Modus nicht angegeben werden, erzeugt
   <span class="methodname"><strong>SoapClient::__construct()</strong></span> einen Fehler der Stufe
   <strong><code><a href="errorfunc.constants.php#constant.e-error">E_ERROR</a></code></strong>.
  </p>
  <p class="para">
   Wenn der <code class="parameter">wsdl</code>-URI nicht geladen werden kann, wird
   eine <span class="classname"><a href="class.soapfault.php" class="classname">SoapFault</a></span>-Exception ausgelöst.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-soapclient.construct-examples">
  <h3 class="title">Beispiele</h3>
  <p class="para">
   <div class="example" id="example-2">
    <p><strong>Beispiel #2 <span class="methodname"><strong>SoapClient::__construct()</strong></span>-Beispiel</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">"ein.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">"ein.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">"ein.wsdl"</span><span style="color: #007700">, array(</span><span style="color: #DD0000">'login'          </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"ein_name"</span><span style="color: #007700">,<br />                                           </span><span style="color: #DD0000">'password'       </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"ein_passwort"</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">"ein.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">"ein.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">"ein_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">"ein_passwort"</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">"ein.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">"ein.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">"ein.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">MeinBuch </span><span style="color: #007700">{<br />    public </span><span style="color: #0000BB">$titel</span><span style="color: #007700">;<br />    public </span><span style="color: #0000BB">$autor</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">"buecher.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">"MeinBuch"</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">"buecher.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-3">
    <p><strong>Beispiel #3 Verwendung des Features <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">/* Unter der Annahme einer Antwort wie dieser und einer entsprechenden WSDL:<br />&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />&lt;SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:example"&gt;<br />    &lt;SOAP-ENV:Body&gt;<br />        &lt;response&gt;<br />            &lt;collection&gt;<br />                &lt;item&gt;Single&lt;/item&gt;<br />            &lt;/collection&gt;<br />            &lt;collection&gt;<br />                &lt;item&gt;First&lt;/item&gt;<br />                &lt;item&gt;Second&lt;/item&gt;<br />            &lt;/collection&gt;<br />        &lt;/response&gt;<br />    &lt;/SOAP-ENV:Body&gt;<br />&lt;/SOAP-ENV:Envelope&gt;<br />*/<br /><br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">"Voreinstellung:\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">"\nMit 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>Das oben gezeigte Beispiel erzeugt folgende Ausgabe:</p></div>

    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Voreinstellung:
string(6) &quot;Single&quot;
array(2) {
  [0] =&gt;
  string(5) &quot;First&quot;
  [1] =&gt;
  string(6) &quot;Second&quot;
}

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