SoapClient::__soapCall
SoapServer
SoapClient
PHP Manual

# SoapClient::SoapClient

(PHP 5 >= 5.0.1)

SoapClient::SoapClient — SoapClient-Konstruktor

### Beschreibung

SoapClient::SoapClient ( mixed `$wsdl` [, array `$options` ] )

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

### Parameter-Liste

`wsdl`

  URI der WSDL-Datei oder `NULL`, wenn der non-WSDL-Modus verwendet werden soll.

  > 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 aus Optionen. Wenn im WSDL-Modus gearbeitet wird, ist dieser Parameter optional. Im non-WSDL-Modus müssen die Optionen location und uri gesetzt sein. Dabei enthält location den anzufragenden URL und uri den Zielnamensraum 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 gibt an, ob der SOAP 1.1- (Standardvorgabe) oder der SOAP 1.2-Client verwendet werden soll.

  Die Optionen login und password können verwendet werden, um Daten für die HTTP-Authentifizierung zu übergeben. Um eine Verbindung über einen Proxy-Server herzustellen, stehen die Optionen proxy_host, proxy_port, proxy_login und proxy_password zur Verfügung. Für Authentifizierung über HTTPS-Client-Zertifikate nutzen Sie die Optionen local_cert und passphrase. Eine Authentifizierung kann in der authentication-Option mit Werten befüllt werden. Die Authentifizierungsmethode kann dabei entweder `SOAP_AUTHENTICATION_BASIC` (Standardvorgabe) oder `SOAP_AUTHENTICATION_DIGEST` sein.

  HTTP-SOAP-Anfragen und -Antworten können mit Hilfe von compression komprimiert werden.

  Die Option encoding definiert die intern verwendete Zeichenkodierung. Sie ändert nicht die Kodierung der SOAP-Anfrage selbst (die bleibt immer utf-8), es werden lediglich die Zeichenketten konvertiert.

  Die trace-Option schaltet das Tracing von Anfragen ein. Damit können fehler zurückverfolgt werden. Der Standardwert ist `FALSE`.

  Die classmap-Option kann verwendet werden, um WSDL-Typen auf PHP-Klassen abzubilden. Die Option muss ein Array mit den WSDL-Typen als Schlüssel und den PHP-Klassennamen als Wert sein.

  Das Setzen der trace-Option aktiviert den Gebrauch der Methoden SoapClient->__getLastRequest, SoapClient->__getLastRequestHeaders, SoapClient->__getLastResponse und SoapClient->__getLastResponseHeaders.

  Die Option exceptions ist ein boolscher Wert. Sie definiert, ob bei SOAP-Fehlern Exceptions vom Typ SoapFault geworfen werden sollen.

  Zeitüberschreitung in Sekunden für Verbindungen zu einem SOAP-Service können mit der Option connection_timeout angegeben werden. Diese Option definiert keine Zeitüberschreitung für Dienste mit langsamen Antwortzeiten. Um zu definieren, wie lange auf die Beendung einer Anfrage gewartet werden soll, steht die Einstellung default_socket_timeout zur Verfügung.

  Die Option typemap ist ein Array mit Typabbildungen. Jede Abbildung ist ein Array mit den Schlüsseln type_name, type_ns (Namespace-URI), from_xml (Callback akzeptiert einen String-Parameter) und to_xml (callback akzeptiert einen Objekt-Parameter).

  Die Option cache_wsdl ist eine der folgenden Konstanten: `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 Ressource auf context.

  The features option is a bitmask of `SOAP_SINGLE_ELEMENT_ARRAYS`, `SOAP_USE_XSI_ARRAY_TYPE`, `SOAP_WAIT_ONE_WAY_CALLS`.

### Beispiele

Beispiel #1 SoapClient::SoapClient()-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));
$server = new SoapClient("ein.wsdl", array('encoding'=>'ISO-8859-1'));
class MyBook {
public $title;
public $author;
}
$server = new SoapClient("books.wsdl", array('classmap' => array('book' => "MyBook")));
?>`

SoapClient::__soapCall
SoapServer
SoapClient
PHP Manual