SoapClient::__construct

(PHP 5, PHP 7, PHP 8)

SoapClient::__constructSoapClient-Konstruktor

Beschreibung

public SoapClient::__construct ( string|null $wsdl , array $options = [] )

Dieser Konstruktor erstellt SoapClient-Objekte im WSDL- oder non-WSDL-Modus.

Parameter-Liste

wsdl

Die URI der WSDL-Datei oder null, wenn der non-WSDL-Modus verwendet wird.

Hinweis:

Während der Entwicklung sollte das WSDL-Caching durch die Verwendung der soap.wsdl_cache_ttl-Option in der php.ini ausgeschaltet werden. Andernfalls wirken sich Änderungen an der WSDL-Datei erst aus, wenn soap.wsdl_cache_ttl abgelaufen ist.

options

Ein Array mit Optionen. Wenn im WSDL-Modus gearbeitet wird, ist dieser Parameter optional. Im non-WSDL-Modus müssen die Optionen location und uri gesetzt werden. Dabei enthält location die URL des SOAP-Servers, an den die Anfrage gesendet werden soll, und uri den Ziel-Namensraum des SOAP-Dienstes.

Die Optionen style und use funktionieren nur im non-WSDL-Modus. Im WSDL-Modus werden sie durch das WSDL-File bestimmt.

Die Option soap_version sollte entweder SOAP_1_1 oder SOAP_1_2 sein, um SOAP 1.1 bzw. 1.2 auszuwählen. Wird sie weggelassen, wird 1.1 verwendet.

Für die HTTP-Authentifizierung können die Optionen login und password verwendet werden, um Anmeldeinformationen anzugeben. Um eine HTTP-Verbindung über einen Proxy-Server herzustellen, stehen auch die Optionen proxy_host, proxy_port, proxy_login und proxy_password zur Verfügung. Für die Authentifizierung mit HTTPS-Client-Zertifikaten sind die Optionen local_cert und passphrase zu verwenden. Eine Authentifizierung kann mit der Option authentication angegeben werden. Die Authentifizierungsmethode kann entweder SOAP_AUTHENTICATION_BASIC (Standard) oder SOAP_AUTHENTICATION_DIGEST sein.

Die Option compression ermöglicht die Komprimierung von HTTP-SOAP-Anfragen und -Antworten.

Die Option encoding definiert die interne Zeichenkodierung. Diese Option ändert nicht die Kodierung von SOAP-Anfragen (sie ist immer utf-8), sondern wandelt Zeichenketten in diese Kodierung um.

Die Option trace aktiviert die Aufzeichnung von Anfragen, damit Fehler zurückverfolgt werden können. Die Voreinstellung ist false.

Die Option classmap kann verwendet werden, um einige WSDL-Typen auf PHP-Klassen abzubilden. Diese Option muss ein Array mit WSDL-Typen als Schlüssel und Namen von PHP-Klassen als Werte sein.

Das Setzen der booleschen Option trace ermöglicht die Verwendung der Methoden SoapClient->__getLastRequest, SoapClient->__getLastRequestHeaders, SoapClient->__getLastResponse und SoapClient->__getLastResponseHeaders.

Die Option exceptions ist ein boolescher Wert, der festlegt, ob Soap-Fehler Exceptions vom Typ SoapFault auslösen.

Die Option connection_timeout definiert einen Timeout in Sekunden für die Verbindung zum SOAP-Dienst. Diese Option definiert keinen Timeout für Dienste mit langsamen Antworten. Um die Zeit zu begrenzen, die auf die Beendigung von Aufrufen gewartet wird, steht die Einstellung default_socket_timeout zur Verfügung.

Die Option typemap ist ein Array mit Typzuordnungen. Die Typzuordnung ist ein Array mit den Schlüsseln type_name, type_ns (Namensraum-URI), from_xml (ein Callback, der einen Zeichenketten-Parameter akzeptiert) und to_xml (ein Callback, der einen Objekt-Parameter akzeptiert).

Die Option cache_wsdl ist entweder WSDL_CACHE_NONE, WSDL_CACHE_DISK, WSDL_CACHE_MEMORY oder WSDL_CACHE_BOTH.

Die Option user_agent gibt die Zeichenkette an, die im User-Agent-Header verwendet werden soll.

Die Option stream_context ist eine resource für den context.

Die Option features ist eine Bit-Maske aus SOAP_SINGLE_ELEMENT_ARRAYS, SOAP_USE_XSI_ARRAY_TYPE und SOAP_WAIT_ONE_WAY_CALLS.

Die Option keep_alive ist ein boolescher Wert, der festlegt, ob der Connection: Keep-Alive-Header oder Connection: close gesendet wird.

Die Option ssl_method ist eine der Konstanten SOAP_SSL_METHOD_TLS, SOAP_SSL_METHOD_SSLv2, SOAP_SSL_METHOD_SSLv3 und SOAP_SSL_METHOD_SSLv23.

Fehler/Exceptions

Wenn die Optionen location und uri im non-WSDL-Modus nicht angegeben werden, erzeugt SoapClient::__construct() einen E_ERROR-Fehler.

Wenn die wsdl-URI nicht geladen werden kann, wird eine SoapFault-Exception ausgelöst.

Beispiele

Beispiel #1 SoapClient::__construct()-Beispiel

<?php

$client 
= new SoapClient("ein.wsdl");

$client = new SoapClient("ein.wsdl", array('soap_version'   => SOAP_1_2));

$client = new SoapClient("ein.wsdl", array('login'          => "ein_name",
                                           
'password'       => "ein_passwort"));

$client = new SoapClient("ein.wsdl", array('proxy_host'     => "localhost",
                                           
'proxy_port'     => 8080));

$client = new SoapClient("ein.wsdl", array('proxy_host'     => "localhost",
                                           
'proxy_port'     => 8080,
                                           
'proxy_login'    => "ein_name",
                                           
'proxy_password' => "ein_passwort"));

$client = new SoapClient("ein.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("ein.wsdl",
  array(
'compression' => SOAP_COMPRESSION_ACCEPT SOAP_COMPRESSION_GZIP));

$client = new SoapClient("ein.wsdl", array('encoding'=>'ISO-8859-1'));

class 
MeinBuch {
    public 
$titel;
    public 
$autor;
}

$client = new SoapClient("buecher.wsdl", array('classmap' => array('buch' => "MeinBuch")));

?>

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top